Búsqueda de sitios web

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 y con un diseño moderno. Almacena el caché en la memoria para garantizar 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 ejecutarse frente a un servidor web para servir 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 del estado de los backends, reescritura de URL, manejo elegante de backends "inactivos" 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 interfaz para el servidor HTTP Apache en sistemas Debian y Ubuntu.

Requisitos:

  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 Necesita 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 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 el caché de barniz usando 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 principal de Barniz, está escrito utilizando el lenguaje de configuración 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 predeterminado de Apache 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 de 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 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 sistemas que utilizan 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 realizar algunos cambios.

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

Debe modificar la directiva de servicio ExecStart, define las opciones de tiempo de ejecución del demonio de barniz. Establezca el valor del indicador -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 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 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 utiliza 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 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: Pruebe 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 todo! Para obtener más información sobre Varnish Cache, visite: https://github.com/varnishcache/varnish-cache

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