Cómo instalar Varnish 7 para Nginx en Rocky Linux 8

21 feb 2022 6 min di lettura
Cómo instalar Varnish 7 para Nginx en Rocky Linux 8
Indice dei contenuti

Introducción

Varnish cache es un acelerador de caché gratuito y de código abierto que se utiliza para acelerar su sitio web mediante el almacenamiento en caché del contenido. Es extremadamente rápido y reduce el tiempo de carga de la página, lo que ayuda con sus SERP y mejora la experiencia del usuario. Es utilizado por muchas organizaciones, incluidas Facebook, Twitter y Wikipedia. Varnish se encuentra entre Nginx y los clientes que reciben solicitudes de los clientes y las reenvía al backend. Esto mejorará el rendimiento del servidor web porque Varnish servirá el contenido desde la memoria.

En este tutorial, le mostraré cómo instalar Varnish 7 para Nginx en Rocky Linux 8.

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

Conexión al servidor

Para acceder al servidor, necesita saber la dirección IP. También necesitará su nombre de usuario y contraseña para la autenticación. Para conectarse al servidor como root escriba el siguiente comando:

ssh root@IP_DEL_SERVER

A continuación, deberá ingresar la contraseña de usuario raíz.

Si no está usando el usuario raíz, puede iniciar sesión con otro nombre de usuario usando el mismo comando, luego cambie la raíz a su nombre de usuario :

ssh nome_utente@IP_DEL_SERVER

A continuación, se le pedirá que introduzca su contraseña de usuario.

El puerto estándar para conectarse a través de ssh es 22 , si su servidor usa un puerto diferente, deberá especificarlo usando el parámetro -p , luego escriba el siguiente comando:

ssh nome_utente@IP_DEL_SERVER -p PORTA

Requisitos previos

  • Un servidor que ejecuta Rocky Linux 8.
  • Una contraseña de root está configurada en el servidor.

Instalar el Varnish 7

Antes de comenzar, deberá deshabilitar los módulos de pintura existentes de su sistema. Puede desactivarlo ejecutando el siguiente comando:

dnf module disable varnish

Debería ver el siguiente resultado:

==============================================================================================================================================
 Package                           Architecture                     Version                           Repository                         Size
==============================================================================================================================================
Disabling modules:
 varnish                                                                                                                                     

Transaction Summary
==============================================================================================================================================

Is this ok [y/N]: y
Complete!

Luego, instale el repositorio EPEL usando el siguiente comando:

dnf install epel-release -y

Luego, agregue el repositorio de Varnish Cache 7 a su sistema usando el siguiente comando:

curl -s https://packagecloud.io/install/repositories/varnishcache/varnish70/script.rpm.sh | bash

Una vez agregado el repositorio, instale Varnish 7 usando el siguiente comando:

dnf install varnish -y

Después de una instalación exitosa, verifique la información de Varnish con el siguiente comando:

rpm -qi varnish

Debería ver el siguiente resultado:

Name        : varnish
Version     : 7.0.2
Release     : 1.el8
Architecture: x86_64
Install Date: Sunday 13 February 2022 06:24:35 AM UTC
Group       : System Environment/Daemons
Size        : 8907085
License     : BSD
Signature   : (none)
Source RPM  : varnish-7.0.2-1.el8.src.rpm
Build Date  : Wednesday 12 January 2022 02:25:34 PM UTC
Build Host  : 7fc509e75620
Relocations : (not relocatable)
URL         : https://www.varnish-cache.org/
Summary     : High-performance HTTP accelerator
Description :
This is Varnish Cache, a high-performance HTTP accelerator.

Gestionar el servicio de pintura.

Después de instalar Varnish, inicie el servicio de Varnish y permita que se inicie cuando el sistema se reinicie usando el siguiente comando:

systemctl start varnish
systemctl enable varnish

Puede comprobar el estado de la pintura con el siguiente comando:

systemctl status varnish

Obtendrá el siguiente resultado:

? varnish.service - Varnish Cache, a high-performance HTTP accelerator
   Loaded: loaded (/usr/lib/systemd/system/varnish.service; disabled; vendor preset: disabled)
   Active: active (running) since Sun 2022-02-13 06:24:56 UTC; 6s ago
  Process: 2555 ExecStart=/usr/sbin/varnishd -a :6081 -a localhost:8443,PROXY -p feature=+http2 -f /etc/varnish/default.vcl -s malloc,256m (c>
 Main PID: 2556 (varnishd)
    Tasks: 217
   Memory: 104.5M
   CGroup: /system.slice/varnish.service
           ??2556 /usr/sbin/varnishd -a :6081 -a localhost:8443,PROXY -p feature=+http2 -f /etc/varnish/default.vcl -s malloc,256m
           ??2567 /usr/sbin/varnishd -a :6081 -a localhost:8443,PROXY -p feature=+http2 -f /etc/varnish/default.vcl -s malloc,256m

Feb 13 06:24:55 rockylinux systemd[1]: Starting Varnish Cache, a high-performance HTTP accelerator...
Feb 13 06:24:55 rockylinux varnishd[2556]: Version: varnish-7.0.2 revision 9b5f68e19ca0ab60010641e305fd12822f18d42c
Feb 13 06:24:55 rockylinux varnishd[2556]: Platform: Linux,4.18.0-348.12.2.el8_5.x86_64,x86_64,-junix,-smalloc,-sdefault,-hcritbit
Feb 13 06:24:55 rockylinux varnishd[2556]: Child (2567) Started
Feb 13 06:24:56 rockylinux varnishd[2556]: Child (2567) said Child starts
Feb 13 06:24:56 rockylinux systemd[1]: Started Varnish Cache, a high-performance HTTP accelerator.

Configurar Varnish

Por defecto, Varnish está escuchando en el puerto 6081. Aquí usaremos Varnish para aceptar conexiones HTTP entrantes. Luego deberá configurar Varnish para escuchar en el puerto 80. Puede hacerlo editando el archivo /usr/lib/systemd/system/varnish.service :

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

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

ExecStart=/usr/sbin/varnishd -a :80 -a localhost:8443,PROXY -p feature=+http2 -f /etc/varnish/default.vcl -s malloc,2g

Guarde y cierre el archivo, luego vuelva a cargar el demonio systemd para aplicar los cambios:

systemctl daemon-reload

Luego, reinicie el servicio Varnish para aplicar los cambios:

systemctl restart varnish

Luego, pruebe el puerto de escucha Varnish usando el siguiente comando:

ss -antpl | grep varnish

Debería ver el puerto de escucha de Varnish en el siguiente resultado:

LISTEN 0      10         127.0.0.1:46093      0.0.0.0:*    users:(("varnishd",pid=2819,fd=13))                            
LISTEN 0      128          0.0.0.0:80         0.0.0.0:*    users:(("cache-main",pid=2830,fd=6),("varnishd",pid=2819,fd=6))
LISTEN 0      128        127.0.0.1:8443       0.0.0.0:*    users:(("cache-main",pid=2830,fd=9),("varnishd",pid=2819,fd=9))
LISTEN 0      10             [::1]:33963         [::]:*    users:(("varnishd",pid=2819,fd=12))                            
LISTEN 0      128             [::]:80            [::]:*    users:(("cache-main",pid=2830,fd=7),("varnishd",pid=2819,fd=7))
LISTEN 0      128            [::1]:8443          [::]:*    users:(("cache-main",pid=2830,fd=8),("varnishd",pid=2819,fd=8))

Configurar Nginx para trabajar con Varnish

En esta sección, instalaremos Nginx y lo configuraremos para que funcione con Varnish. Primero, instale el paquete Nginx con el siguiente comando:

dnf install nginx -y

Después de instalar Nginx, deberá editar el archivo de configuración de Nginx y cambiar el puerto de escucha predeterminado de Nginx de 80 a 8080 .

Edite el archivo de configuración principal de Nginx con el siguiente comando:

nano /etc/nginx/nginx.conf

Encuentra las siguientes líneas:

	listen       80 default_server;
        listen       [::]:80 default_server;

Y las reemplazó con las siguientes líneas:

	listen       8080 default_server;
        listen       [::]:8080 default_server;

Guarde y cierre el archivo cuando termine, luego inicie el servicio Nginx para aplicar los cambios:

systemctl start nginx

También puede verificar el estado de Nginx usando el siguiente comando:

systemctl status nginx

Obtendrá el siguiente resultado:

? nginx.service - The nginx HTTP and reverse proxy server
   Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled)
   Active: active (running) since Sun 2022-02-13 06:29:02 UTC; 8s ago
  Process: 5627 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS)
  Process: 5626 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS)
  Process: 5624 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS)
 Main PID: 5629 (nginx)
    Tasks: 2 (limit: 11412)
   Memory: 6.7M
   CGroup: /system.slice/nginx.service
           ??5629 nginx: master process /usr/sbin/nginx
           ??5630 nginx: worker process

Feb 13 06:29:02 rockylinux systemd[1]: Starting The nginx HTTP and reverse proxy server...
Feb 13 06:29:02 rockylinux nginx[5626]: nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
Feb 13 06:29:02 rockylinux nginx[5626]: nginx: configuration file /etc/nginx/nginx.conf test is successful
Feb 13 06:29:02 rockylinux systemd[1]: nginx.service: Failed to parse PID from file /run/nginx.pid: Invalid argument
Feb 13 06:29:02 rockylinux systemd[1]: Started The nginx HTTP and reverse proxy server.

Comprueba la caché de Varnish

En este punto, Varnish está instalado y configurado con el servidor web Nginx. Ahora es el momento de probar el caché Varnish.

Ejecute el siguiente comando para verificar el caché de Varnish:

curl -I http://your-server-ip

Con suerte, obtendrá el siguiente resultado:

HTTP/1.1 200 OK
Server: nginx/1.14.1
Date: Sun, 13 Feb 2022 06:30:06 GMT
Content-Type: text/html
Content-Length: 3429
Last-Modified: Thu, 10 Jun 2021 09:09:03 GMT
ETag: "60c1d6af-d65"
X-Varnish: 2
Age: 0
Via: 1.1 varnish (Varnish/7.0)
Accept-Ranges: bytes
Connection: keep-alive

Conclusión

¡Felicidades! ha instalado correctamente Varnish con Nginx en Rocky Linux 8. Ahora puede implementar Varnish en el entorno de producción para acelerar el rendimiento de su sitio web. No dude en preguntarme si tiene alguna pregunta.

Support us with a

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.