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 y alto rendimiento con un diseño moderno. Almacena la memoria caché en la memoria, lo que garantiza que los recursos del servidor web no se desperdician en la creación de la misma página web una y otra vez cuando lo solicita un cliente.

Puede configurarse para ejecutarse frente a un servidor web para servir las páginas de una manera mucho más rápida, lo que hace que los sitios web se carguen rápidamente. Admite el equilibrio de carga con la comprobación de estado de los backends, la reescritura de URL, el manejo correcto de los backends "muertos" y ofrece soporte parcial para ESI ( Edge Side Incluye ).

En nuestra serie de artículos sobre Varnish Cache, mostramos cómo configurar Varnish para Nginx y 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 una interfaz para el servidor HTTP Apache en sistemas Debian y Ubuntu.

  1. A Ubuntu system installed with LAMP Stack
  2. A Debian system installed with LAMP Stack
  3. A Debian/Ubuntu system with static IP address

Paso 1: Instalar Varnish Cache en Debian y Ubuntu

1. Afortunadamente, hay paquetes precompilados para la última versión de Varnish Cache 5 (es decir, 5.2 en el momento de escribir este documento) 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 -

rojo

$ 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 contiene la configuración del repositorio a continuación. 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 con 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 – the varnish environment configuration file.
  • /etc/varnish/default.vcl – main varnish configuration file, it is written using vanish configuration language (VCL).
  • /etc/varnish/secret – varnish secret file.

Para confirmar que la instalación de Varnish se realizó correctamente, ejecute el siguiente comando para ver la versión.

$ varnishd -V

Paso 2: Configurar Apache para trabajar con caché de barniz

5. Ahora necesita configurar Apache para que funcione con Varnish Cache. De forma predeterminada, Apache escucha en el puerto 80 , necesita cambiar el puerto de Apache predeterminado a 8080 para habilitarlo a ejecutarse 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ámbielo a listen 8080 .

Como alternativa, 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 debe 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 usan systemd , el archivo de configuración del entorno /etc/default/varnish está obsoleto y ya no se considera.

Debe 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

Debe modificar la directiva de servicio ExecStart , que define las opciones de tiempo de ejecución del daemon de barniz. Establezca el valor del indicador -a , que define la escucha del barniz de puerto, desde 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 servidor backend para el proxy de Varnish, en el archivo de configuración /etc/varnish/default.vcl .

# sudo vi /etc/varnish/default.vcl 

Mediante la sección 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 el host local (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 el daemon de Apache y Varnish escribiendo los siguientes comandos.

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

Paso 3: Prueba de caché de barniz en Apache

11. Por último, compruebe si Varnish Cache está habilitado y funciona con el servidor HTTP Apache utilizando el comando de CURSURA 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 los sistemas Debian y Ubuntu. Puede compartir cualquier comentario o consulta con nosotros a través de los comentarios de abajo.