Documentación
Documentación » Hosting » Configurar y optimizar Hosting LiteSpeed

Configurar y optimizar Hosting LiteSpeed

Acceso rápido a las secciones de este documento

1 - Introducción a LiteSpeed

LiteSpeed es un potente servidor web que ofrece una mejora de rendimiento notable en comparación con Apache

LiteSpeed es totalmente retro-compatible con Apache, no te preocupes, el funcionamiento del servidor sigue siendo el mismo.

LiteSpeed trae por defecto un avanzado sistema de cache llamado LSCache, este sistema lo que hace es cachear el contenido dinámico de las webs para servirlas como contenido estático, mejorando así el tiempo de carga de una web de forma sobresaliente. El usuario está navegando por la web y las páginas cargan al instante.

El secreto de este excepcional rendimiento, reside en la integración nativa que hay entre los diferentes CMS (WordPress, Prestashop, Magento, Drupal, Joomla, etc…) y el propio LiteSpeed.

A continuación de explicamos como configurar LiteSpeed para sacar el máximo rendimiento y provecho a tu web.

2 - Activar LSCaché mediante plugin

Para activar LSCache es muy simple, solo debes instalar el plugin correspondiente para tu CMS. Estos son los enlaces de donde puedes descargarlo:

Después de haber instalado el plugin, notarás como los tiempos de carga de tu web bajan drásticamente, proporcionando así una experiencia de navegación excelente a tus usuarios.

En caso que quieras vaciar la cache de LiteSpeed, desde el propio cPanel verás que tienes disponible un icono para realizar tal acción.

Recuerda que los plugins son totalmente gratuitos, el servidor LiteSpeed si que tiene un coste de licencia, pero ese coste ya lo asumimos en GINERNET para que puedas hacer uso de los plugins sin necesidad de pagar nada.

3 - Activar LSCaché sin plugin

Si tu web no tiene un módulo para LiteSpeed, puedes aplicar la siguiente directiva al principio de tu fichero .htaccess para cachear el contenido de tu web:

  • Para cachear todo el contenido:
RewriteRule ^(.*) - [E=Cache-Control:max-age=86400]
  • Para cachear un fichero concreto:
RewriteRule ^fichero.php$ - [E=Cache-Control:max-age=86400]

La variable max-age especifica en segundos el tiempo que permanecerá cacheado el contenido, pasado ese tiempo la caché se vaciará.

86400 segundos = 1 día

4 - Protección ReCAPTCHA de LiteSpeed

En los servidores con LiteSpeed existe la posibilidad de proteger el acceso al sitio web mediante una verificación reCAPTCHA.

Esta protección se configura de una forma muy simple mediante .htaccess, a continuación de explicamos como.

  • Si quieres proteger toda la web para unos paises concretos concretos
<IfModule LiteSpeed>
RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^(CN|RU)$
RewriteRule .* - [E=verifycaptcha][L]
</IfModule>

donde el valor CN|RU indica que los paises con protección son China y Rusia

  • Si quieres proteger toda la web para todo el mundo
<IfModule LiteSpeed>
RewriteRule .* - [E=verifycaptcha]
</IfModule>

Cuidado con esta regla, ya que las pasarelas de pago no podrán ejecutar notificaciones al no poder resolver el re-capctha.

  • Si quieres proteger toda la web excepto algunos directorios/ficheros concretos
<IfModule LiteSpeed>
RewriteCond %{REQUEST_URI} !^/directorio/excluido/ RewriteCond %{REQUEST_URI} !^/fichero/excluir.php RewriteRule .* - [E=verifycaptcha]
</IfModule>
  • Si quieres proteger solo algunos directorios/ficheros concretos
<IfModule LiteSpeed>
RewriteRule fichero.php - [E=verifycaptcha]
RewriteRule ^directorio - [E=verifycaptcha]
RewriteRule ^directorio/permitido - [E=verifycaptcha]
RewriteRule ^directorio/fichero.php - [E=verifycaptcha]
</IfModule>

5 - Configurar crawler LiteSpeed para Prestashop

El crawler de LiteSpeed para Prestashop es un script que se encarga de rastrear de forma automática todos los productos de tu web para introducirlos en la caché. De esta forma cuando un usuario visite por primera vez un producto, ya lo podrá descargar desde la caché (más rápido).

Para que el crawler sepa que productos queremos introducir en la caché, tenemos que generar un sitemap. Esto lo podemos hacer con la herramienta Google Sitemap de Prestashop.

Descarga el fichero crawler y súbelo por FTP (no hace falta que lo metas dentro de public_html)

Accede a tu cPanel y crea un cron diario, por ejemplo a la 3:00 AM con este comando:

bash /home/USUARIO/cachecrawler.sh -m URL_SITEMAP >/dev/null 2>&1

Por ejemplo, así:

bash /home/ginernet/cachecrawler.sh -m https://ginernet.com/sitemap_index.xml >/dev/null 2>&1

Puedes contactar con nosotros para que comprobemos que has creado correctamente el cron y que el crawler se está ejecutando correctamente

6 - Configurar valores php.ini personalizados en LiteSpeed

LiteSpeed te permite modificar mediante .htaccess ciertos parámetros de PHP.

  • Edita tu fichero .htaccess y defines los valores que quieras, aquí tienes un ejemplo de sintaxis.
php_value max_execution_time 300
php_value memory_limit 2048M
php_value upload_max_filesize 2048M
php_value post_max_size 2048M
  • Para verificar que valores está devolviendo el servidor, debes crear una página php de prueba y dentro ejecutar la función phpinfo, tal que así:
<?php
phpinfo();
?>

7 - Eliminar el timeout del servidor LiteSpeed

Las directivas de esta sección provocan que los procesos de LiteSpeed nunca se maten, lo cual puede provocar que tu servidor se sature y por tanto que tu web quede inaccesible. Debes estar seguro de lo que estás haciendo.

Cualquier proceso de LiteSpeed lo tenemos configurado para que se mate automáticamente a los 120 segundos de haberse iniciado. Normalmente, cuando un usuario ejecuta una acción en una web y el resultado tarda más de este tiempo en ejecutarse es porque hay algún problema, por eso, el proceso se mata para evitar saturar el servidor con procesos zombis. No obstante, si necesitas eliminar este límite puedes hacerlo, te lo explicamos a continuación.

LiteSpeed tiene una directiva .htaccess que permite configurar el servidor web para ignore el timeout, es la siguiente:

1. Para algunas URL

Imaginemos que tenemos 3 ficheros que queremos ejecutar y cuyo tiempo de ejecución es superior a 120 segundos.

Estos ficheros se llaman por ejemplo:

  • wp-cron.php
  • backupbuddy.php
  • importbuddy.php

Esta es la directiva:

  • Metodo 1 – mod_rewrite
<IfModule Litespeed> 
RewriteEngine On
RewriteRule (wp-cron|backupbuddy|importbuddy)\.php - [E=noabort:1, E=noconntimeout:1]
</IfModule>
  • Metodo 2 – SetEnv
<IfModule Litespeed> 
SetEnvIf Request_URI "(wp-cron|backupbuddy|importbuddy)\.php" noabort noconntimeout
</IfModule>

2. Para todas las URL

No te recomendamos eliminar el timeout para todas las páginas, el 99% de los casos solo es necesario eliminar el timeout a algún fichero concreto, mira por tanto el método 1 anterior para eliminar el timeout solo en algunas URL.

 

Si aún así necesitas eliminarlo para todas las páginas, esta es la directiva que debes usar:

<IfModule Litespeed> 
RewriteEngine On
RewriteRule .* - [E=noabort:1, E=noconntimeout:1]
SetEnv noconntimeout
</IfModule>

o así…

<IfModule Litespeed>
SetEnv noabort 1
SetEnv noconntimeout 
</IfModule>

SI TU SERVIDOR SE HA SATURADO Y TU WEB ESTÁ INACCESIBLE, ASÍ PUEDES REPARARLO:

Debes acceder al cPanel del dominio en cuestión y pinchar en el botón “Terminal” Terminal

Se te abrirá una terminal donde puedes matar todos los procesos ejecutando el siguiente comando:

kill -9 -1