Cómo instalar el servidor de caché de Varnish con Nginx en Ubuntu 18.04 LTS

27 feb 2021 4 min di lettura
Cómo instalar el servidor de caché de Varnish con Nginx en Ubuntu 18.04 LTS
Indice dei contenuti

Introducción

Varnish Cache es un acelerador web front-end que permite que los sitios web dinámicos manejen un alto flujo de tráfico. Es un proxy HTTP en caché inverso que almacena en caché tanto contenido estático como dinámico del servidor, lo que aumenta considerablemente la velocidad de un sitio web y mejora la experiencia del usuario.

Varnish Cache también permite a los desarrolladores configurar reglas y establecer políticas utilizando el lenguaje de configuración de Varnish, comúnmente llamado VCL. VCL es un programa que permite a Varnish dirigir lo que debe hacer con el tráfico del sitio. De esta manera, puede controlar completamente qué desea almacenar en caché y cómo.

Si su intención es instalar Varnish caché en un servidor remoto, continúe leyendo; de lo contrario, si desea instalar Varnish en su computadora local, omita el primer párrafo "Conexión al servidor" y lea el siguiente.

Conexión al servidor

Para acceder al servidor, necesita conocer la dirección IP. También necesitará la contraseña para la autenticación.

Para conectarse al servidor como root, escriba este comando:

ssh root@IP_DEL_SERVER

A continuación, se le pedirá que ingrese la contraseña del usuario root.

Si no usa el usuario root, puede iniciar sesión con otro nombre de usuario usando el mismo comando, luego cambie el primer parámetro:

ssh VOSTRO_UTENTE@IP_DEL_SERVER

Luego se le pedirá que ingrese su contraseña de usuario.

Ahora está conectado a su servidor, está listo para comenzar a instalar Varnish cache en Ubuntu 18.04 LTS.

Instalar Varnish y Nginx

Los paquetes Varnish y Nginx están disponibles en el repositorio oficial de Ubuntu, luego puede simplemente instalarlos con el siguiente comando:

sudo apt -y install varnish nginx

Para verificar el estado de la instalación, emita el siguiente comando:

ss -tlnf inet

Debería recibir un mensaje de salida similar al siguiente:


State Recv-Q Send-Q Local Address:Port Peer Address:Port
 LISTEN 0 128 0.0.0.0:80 0.0.0.0:*
 LISTEN 0 128 127.0.0.53%lo:53 0.0.0.0:*
 LISTEN 0 128 0.0.0.0:22 0.0.0.0:*
 LISTEN 0 128 0.0.0.0:6081 0.0.0.0:*
 LISTEN 0 10 127.0.0.1:6082 0.0.0.0:*

  • Nginx actualmente usa el puerto 80
  • El barniz utiliza ambos puertos 6081 y 6082

Configurar Nginx

Nginx funcionará como un proxy inverso para Varnish, por lo que debe reconfigurar el puerto predeterminado 80 a otro puerto de escucha, por ejemplo, 8080.

Abramos el archivo de configuración predeterminado de Nginx:

sudo nano /etc/nginx/sites-available/default

Edite las entradas de escucha cambiando el puerto de 80 a 8080, luego:

...
 server {
 listen 8080 default_server;
 listen [::]:8080 default_server;...

Guarde y cierre el archivo.

Verifique la configuración correcta de Nginx:

nginx -t

Si el resultado es positivo, reinicie Nginx; de lo contrario, vuelva a leer los pasos anteriores. Reinicie Nginx:

sudo service nginx reload

Verifique la configuración de puerto correcta:

ss -tlnf inet

Debería recibir un mensaje de salida similar al siguiente:


State Recv-Q Send-Q Local Address:Port Peer Address:Port
 LISTEN 0 128 0.0.0.0:8080 0.0.0.0:*
 LISTEN 0 128 127.0.0.53%lo:53 0.0.0.0:*
 LISTEN 0 128 0.0.0.0:22 0.0.0.0:*
 LISTEN 0 128 0.0.0.0:6081 0.0.0.0:*
 LISTEN 0 10 127.0.0.1:6082 0.0.0.0:*

Tenga en cuenta que Nginx ahora usa el puerto 8080, ya no el puerto 80.

Configurar el servidor de caché de Varnish

Ahora necesitamos enrutar el tráfico de Nginx a través del servidor de caché de Varnish, luego abrir el servicio de archivos de Varnish:

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

Cambie el puerto de 6081 a 80, luego:


[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 /etc/varnish/defaul$
 ExecReload=/usr/share/varnish/varnishreload
 ProtectSystem=full
 ProtectHome=true
 PrivateTmp=true
 PrivateDevices=true

 [Install]
 WantedBy=multi-user.target

Guarde y cierre el archivo.

A continuación, cambie las configuraciones de Varnish configurando el puerto Nginx 8080. Abra el siguiente archivo:

sudo nano /etc/varnish/default.vcl

Si Nginx se instaló en el mismo servidor que Varnish, no modifique ninguna línea, de lo contrario ingrese su dirección IP y puerto, si es diferente:


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

Reinicie el servicio y el servidor de Varnish Cache:

sudo systemctl daemon-reload
sudo service varnish restart

Confirme la configuración del puerto correcta: ss -tlnf inet

Debería recibir un resultado similar al siguiente:


State Recv-Q Send-Q Local Address:Port Peer Address:Port
 LISTEN 0 128 0.0.0.0:80 0.0.0.0:*
 LISTEN 0 128 0.0.0.0:8080 0.0.0.0:*
 LISTEN 0 128 127.0.0.53%lo:53 0.0.0.0:*
 LISTEN 0 128 0.0.0.0:22 0.0.0.0:*
 LISTEN 0 10 127.0.0.1:6082 0.0.0.0:*

Puertos 80 y 8080 en uso por Varnish y Nginx.

Si está utilizando el firewall UFW de Ubuntu, habilite los puertos necesarios; para obtener más información, lea la siguiente guía: Configure el firewall UFW en Ubuntu 18.04.

Probar el servidor de caché de Varnish

Puede probar fácilmente el funcionamiento del servidor Varnish utilizando el comando curl. Edite el comando ingresando su dirección IP o nombre de dominio Desde la terminal da el siguiente comando:

curl -I IP_O_DOMINIO

Debería recibir un resultado similar al siguiente:


HTTP/1.1 200 OKServer: nginx/1.14.0 (Ubuntu)
 Date: Fri, 12 Apr 2019 22:23:22 GMT
 Content-Type: text/html
 Last-Modified: Fri, 12 Apr 2019 21:42:58 GMT
 ETag: W/"5cb10662-324"
 Vary: Accept-Encoding
 X-Varnish: 15
 Age: 0
 Via: 1.1 varnish (Varnish/5.2)
 Accept-Ranges: bytes

También puede verificar algunas estadísticas de caché de Varnish usando el comando varnishstat:

sudo varnishstat

La configuración e instalación de Varnish Cache Server con Nginx en Ubuntu 18.04 LTS ha finalizado.

Buy me a coffeeBuy me a coffee

Supportaci se ti piacciono i nostri contenuti. Grazie.

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.