Instale Varnish Cache 5.2 para Apache en Debian y Ubuntu


Varnish Cache (también llamado Varnish) es un acelerador HTTP de código abierto de alto rendimiento con un diseño moderno. Almacena el caché en la memoria, lo que garantiza que los recursos del servidor web no se desperdicien creando la misma página web una y otra vez cuando lo solicita un cliente.

Se puede configurar para que se ejecute frente a un servidor web y sirva páginas de una manera mucho más rápida, lo que hace que los sitios web se carguen rápidamente. Admite equilibrio de carga con verificación de estado de backends, reescritura de URL, manejo elegante de backends "muertos" y ofrece soporte parcial para ESI (Edge Side Incluye).

En nuestra serie de artículos sobre Varnish para servidores web Apache en un sistema CentOS 7.

En este artículo, explicaremos cómo instalar y configurar Varnish Cache 5.2 como interfaz para el servidor HTTP Apache en sistemas Debian y Ubuntu.

  1. Un sistema Ubuntu instalado con LAMP Stack
  2. Un sistema Debian instalado con LAMP Stack
  3. Un sistema Debian/Ubuntu con dirección IP estática

Paso 1: Instale Varnish Cache en Debian y Ubuntu

1. Afortunadamente, existen paquetes precompilados para la última versión de Varnish Cache 5 (es decir, 5.2 en el momento de escribir este artículo), por lo que debe agregar el repositorio oficial de Varnish en su sistema como se muestra a continuación.

$ curl -L https://packagecloud.io/varnishcache/varnish5/gpgkey | sudo apt-key add -

Importante: si está utilizando Debian, instale el paquete debian-archive-keyring para verificar los repositorios oficiales de Debian.

$ sudo apt-get install debian-archive-keyring

2. Después de eso, cree un archivo llamado /etc/apt/sources.list.d/varnishcache_varnish5.list que contenga la siguiente configuración del repositorio. Asegúrese de reemplazar ubuntu y xenial con su distribución y versión de Linux.

deb https://packagecloud.io/varnishcache/varnish5/ubuntu/ xenial main  
deb-src https://packagecloud.io/varnishcache/varnish5/ubuntu/ xenial  main

3. A continuación, actualice el repositorio de paquetes de software e instale la caché de barniz utilizando los siguientes comandos.

$ sudo apt update
$ sudo apt install varnish

4. Después de instalar Varnish Cache, los archivos de configuración principales se instalarán en el directorio/etc/varnish /.

  • /etc/default/varnish: el archivo de configuración del entorno de barniz.
  • /etc/varnish/default.vcl - archivo de configuración de barniz principal, está escrito usando el lenguaje de configuración de vanish (VCL).
  • /etc/varnish/secret - archivo secreto de barniz.

Para confirmar que la instalación de Varnish fue exitosa, ejecute el siguiente comando para ver la versión.

$ varnishd -V

Paso 2: configurar Apache para que funcione con Varnish Cache

5. Ahora necesita configurar Apache para que funcione con Varnish Cache. De forma predeterminada, Apache escucha en el puerto 80, debe cambiar el puerto Apache predeterminado a 8080 para permitir que se ejecute detrás del almacenamiento en caché de Varnish.

Así que abra el archivo de configuración de puertos Apache /etc/apache2/ports.conf y busque la línea listen 80, luego cámbiela a listen 8080.

Alternativamente, simplemente ejecute el comando sed para cambiar el puerto 80 a 8080 de la siguiente manera.

$ sudo sed -i "s/Listen 80/Listen 8080/" /etc/apache2/ports.conf

6. También necesita realizar cambios en su archivo de host virtual ubicado en/etc/apache2/sites-available /.

$ sudo vi /etc/apache2/sites-available/000-default.conf

Cambie el número de puerto a 8080.

<VirtualHost *:8080>
	#virtual host configs here
</VirtualHost>

7. En los sistemas que utilizan systemd, el archivo de configuración del entorno/etc/default/varnish está obsoleto y ya no se considera.

Necesita copiar el archivo /lib/systemd/system/varnish.service a/etc/systemd/system/y hacer algunos cambios en él.

$ sudo cp /lib/systemd/system/varnish.service /etc/systemd/system/
$ sudo vi /etc/systemd/system/varnish.service

Necesita modificar la directiva de servicio ExecStart, que define las opciones de tiempo de ejecución del demonio de barniz. Establezca el valor de la bandera -a , que define el puerto que escucha el barniz, de 6081 a 80.

8. Para efectuar los cambios anteriores en el archivo de la unidad de servicio de barniz, ejecute el siguiente comando systemctl:

$ sudo systemctl daemon-reload

9. Luego, configure Apache como un servidor backend para el proxy Varnish, en el archivo de configuración /etc/varnish/default.vcl.

# sudo vi /etc/varnish/default.vcl 

Usando la sección de backend, puede definir la IP del host y el puerto para su servidor de contenido. La siguiente es la configuración de backend predeterminada que usa localhost (configúrelo para que apunte a su servidor de contenido real).

backend default {
    .host = "127.0.0.1";
    .port = "8080";
}

10. Una vez que haya realizado toda la configuración anterior, reinicie Apache y el demonio Varnish escribiendo los siguientes comandos.

$ sudo systemctl restart apache
$ sudo systemctl start varnish
$ sudo systemctl enable varnish
$ sudo systemctl status varnish

Paso 3: probar Varnish Cache en Apache

11. Finalmente, pruebe si la caché de Varnish está habilitada y funciona con el servidor HTTP Apache usando el comando cURL a continuación para ver el encabezado HTTP.

$ curl -I http://localhost

¡Eso es! Para obtener más información sobre Varnish Cache, visite - https://github.com/varnishcache/varnish-cache

En este tutorial, hemos explicado cómo configurar Varnish Cache 5.2 para el servidor HTTP Apache en sistemas Debian y Ubuntu. Puede compartir sus pensamientos o consultas con nosotros a través de los comentarios a continuación.