Un sitio web de carga lenta puede afectar el rendimiento general de su negocio. Incluso un retraso de un segundo puede resultar en menos páginas vistas, menor satisfacción del cliente y pérdida de conversiones.

Cuando se enfrente a tal desafío, puede usar la caché HTTP de Varnish para acelerar su sitio web de 300 a 1000 veces, dependiendo de la arquitectura de su hardware.

Varnish Cache es un acelerador de aplicaciones web que se puede utilizar como proxy para su servidor web Apache. El software de código abierto está ubicado frente a su servidor web para atender el tráfico web muy rápidamente. Si está ejecutando varios servidores, Varnish Cache también se puede utilizar como equilibrador de carga.

Al pintar, el contenido web solicitado con regularidad se almacena en caché en la memoria del sistema. Esto asegura una recuperación de información más rápida si se solicita la misma información varias veces.

En esta guía, le mostraremos cómo instalar y configurar Varnish HTTP Cache en su hosting web Ubuntu 18.04 VPS que ejecuta un servidor web Apache.

Nota especial: si le preocupa el rendimiento de su proveedor de hosting actual, Hosting mas Baratopuede ayudarlo a encontrar uno mejor. Busque en nuestra mejor página de hosting web para encontrar los mejores proveedores de hosting del mundo con reseñas, precios y características.

requisitos

  • Un plan VPS
  • Un usuario no root con privilegios sudo

Paso 1: instalar Apache

Antes de comenzar, actualice la información de la lista de paquetes para asegurarse de que estamos instalando las últimas versiones de las aplicaciones de software:

$ sudo apt-get update

Luego instale el servidor web Apache con el siguiente comando:

$ sudo apt-get install apache2

prensa Y. y golpea Ingresar cuando se le solicite que confirme la instalación.

Paso 2: pruebe que Apache está funcionando

Una vez completada la instalación de Apache, ingrese la dirección IP pública de su servidor Ubuntu 18.04 o su nombre de dominio en un navegador:

http://127.0.0.1

O

http://example.com

Debería ver la siguiente página web predeterminada de Apache:

La página anterior confirma que Apache está funcionando correctamente.

Paso 3: Instale la caché HTTP de Varnish

Una vez que Apache esté en funcionamiento, podemos instalar Varnish HTTP Cache con el siguiente comando:

$ sudo apt-get install varnish

prensa Y. y golpea Ingresar cuando se le solicite que confirme la instalación.

Paso 4: cambie los puertos de escucha de caché HTTP Apache y Varnish

De forma predeterminada, Apache escucha en el puerto 80 el tráfico HTTP. Necesitamos hacer algunos cambios aquí. En lugar de la configuración predeterminada, Varnish monitorea el puerto 80 y reenvía todo el tráfico al servidor web Apache, que configuramos para monitorear el puerto 8080.

Primero, asignemos el puerto 8080 al servidor web Apache. Para hacer esto, edite el archivo ‘/etc/apache2/ports.conf’ Archivo con un editor nano.

$ sudo nano /etc/apache2/ports.conf
Listen 8080
<IfModule ssl_module>
        Listen 443
</IfModule>
<IfModule mod_gnutls.c>
        Listen 443
</IfModule>

prensa CTRL + X., Y. y golpea Ingresar para guardar el archivo una vez que haya realizado los cambios.
A continuación, edite el host virtual Apache predeterminado para que también escuche en el puerto 8080:

$ sudo nano /etc/apache2/sites-enabled/000-default.conf
<VirtualHost *:8080> 
...
</VirtualHost>

prensa CTRL + X., Y. y Ingresar para guardar el archivo

Reiniciar Apache

$ sudo service apache2 restart

Si intenta volver a acceder a su sitio web a través de un navegador, recibirá un mensaje de error. Sin embargo, puede agregar el puerto 8080 a su dirección IP para llegar a su servidor:

http: //127.0.0.1:8080

Paso 5: Configure la caché HTTP de Varnish para escuchar en el puerto 80

A continuación, configuraremos Varnish para que escuche en el puerto 80 y reenvíe todas las solicitudes a nuestro servidor web Apache.

Podemos hacer esto editando el archivo de configuración de pintura / etc / default / falta

$ sudo nano  /etc/default/varnish

Busque la política ‘DAEMON_OPTS ‘ y cambie el puerto de escucha a 80.

DAEMON_OPTS="-a :80 
             -T localhost:6082 
             -f /etc/varnish/default.vcl 
             -S /etc/varnish/secret 
             -s malloc,256m"

Entonces presione CTRL + X., Y. y golpea Ingresar para guardar el archivo.

A continuación, verifique el archivo ‘/etc/varnish/default.vcl’ con un editor de texto nano. Debería mostrarse el siguiente contenido. Esto significa que Varnish reenviará el tráfico HTTP al puerto 8080:

$ sudo nano /etc/varnish/default.vcl

Contenido del archivo:

# Default backend definition. Set this to point to your content server.
backend default {
.host = "127.0.0.1";
.port = "8080";
}

También necesitamos editar el puerto en el archivo. /lib/systemd/system/varnish.serviceArchivo. Para hacer esto, ingrese el siguiente comando:

$ sudo nano /lib/systemd/system/varnish.service

Cambie el puerto predeterminado de 6081 a 80 como se muestra a continuación

[Unit]
Description=Varnish HTTP accelerator
Documentation=https://www.varnish-cache.org/docs/4.1/ man:varnishd
[Service]
Type=simple
LimitNOFILE=131072
LimitMEMLOCK=82000
ExecStart=/usr/sbin/varnishd -j unix,user=vcache -F -a :80 -T localhost:6082 -f$
ExecReload=/usr/share/varnish/varnishreload
ProtectSystem=full
ProtectHome=true
PrivateTmp=true
PrivateDevices=true
[Install]
WantedBy=multi-user.target

Entonces presione CTRL + X., Y. y golpea Ingresar para guardar el archivo.

Paso 6: reinicie Apache, Varnish y Systemd Daemon

Para recargar los cambios podemos reiniciar Apache, Varnish y Systemd Daemon con los siguientes comandos:

$ sudo systemctl restart apache2
$ sudo systemctl daemon-reload
$ sudo systemctl restart varnish

Si la configuración fue exitosa, Varnish es ahora el predeterminado Oyente HTTP en el puerto 80.

Paso 6: probar la configuración

Ahora puede intentar visitar su servidor nuevamente en un navegador web:

http://public_ip_adress

O

http://example.com

El tráfico del servidor ahora debería ser procesado por el software Varnish HTTP Cache y reenviado a Apache.

Para verificar, use el comando curl para asegurarse de que Varnish esté funcionando:

$ curl -I server_ip_address

Debería obtener un resultado similar al siguiente texto. Cuando veas la linea “Vía: 1.1 Falta (Falta / 5.2)”, entonces Varnish funciona como se esperaba.

HTTP/1.1 200 OK
Date: Thu, 05 Jul 2018 20:56:11 GMT
Server: Apache/2.4.29 (Ubuntu)
Last-Modified: Fri, 29 Jun 2018 07:19:34 GMT
Vary: Accept-Encoding
Content-Type: text/html
X-Varnish: 7
Age: 0
Via: 1.1 varnish (Varnish/5.2)
ETag: W/"2aa6-56fc2ab77545d-gzip"
Accept-Ranges: bytes
Connection: keep-alive

Conclusión

En esta guía, le mostramos cómo configurar el software Varnish HTTP Cache en su servidor Ubuntu 18.04. Si siguió las instrucciones de instalación por completo, su sitio web ahora debería cargarse más rápido ya que Varnish está extrayendo la mayor parte del contenido solicitado con frecuencia de la memoria.