Cómo instalar Varnish Cache 5.2 para Nginx en CentOS 7


Varnish Cache (también conocido como Varnish ) es un acelerador HTTP de código abierto y alto rendimiento diseñado para acelerar los servidores web. En nuestro último artículo, hemos explicado cómo configurar Varnish Cache para el servidor web Apache en CentOS 7.

En este artículo, le mostraremos cómo instalar y utilizar Varnish Cache 5.2 como una interfaz para el servidor Nginx HTTP en CentOS 7. Esta guía también debería funcionar en RHEL7.

  1. A CentOS 7 with Apache installed
  2. A CentOS 7 with static IP address

Paso 1: Instale el servidor web Nginx en CentOS 7

1. Comience por instalar el servidor Nginx HTTP de los repositorios de software predeterminados de CentOS utilizando el administrador de paquetes YUM de la siguiente manera.

# yum install nginx

2. Cuando finalice la instalación, inicie el servicio Nginx por ahora y habilítelo para que se inicie automáticamente al iniciar el sistema.

# systemctl start nginx
# systemctl enable nginx
# systemctl status nginx

3. Ahora modifique las reglas del firewall del sistema para permitir los paquetes entrantes en el puerto 80 usando los comandos a continuación.

# firewall-cmd --zone=public --permanent --add-port=80/tcp
# firewall-cmd --reload
# firewall-cmd --zone=public --permanent --add-port=8080/tcp
# firewall-cmd --reload

Paso 2: Instalar Varnish Cache en CentOS 7

4. Ahora hay paquetes RPM precompilados para la última versión de Varnish Cache 5 (es decir, 5.2 en el momento de escribir este documento), por lo tanto, Necesito agregar repositorio oficial de Varnish Cache.

Antes de eso, debe habilitar el repositorio de EPEL para instalar varios paquetes de dependencia como se muestra.

# yum install -y epel-release

5. A continuación, instale pygpgme , un paquete para manejar firmas GPG y yum-utils, una colección de utilidades útiles que extienden las funciones nativas de yum de varias maneras.

# yum install pygpgme yum-utils

6. Ahora cree un archivo llamado /etc/yum.repos.d/varnishcache_varnish5.repo que contiene la configuración del repositorio a continuación.

# vi /etc/yum.repos.d/varnishcache_varnish5.repo

[varnishcache_varnish5]
name=varnishcache_varnish5
baseurl=https://packagecloud.io/varnishcache/varnish5/el/7/$basearch
repo_gpgcheck=1
gpgcheck=0
enabled=1
gpgkey=https://packagecloud.io/varnishcache/varnish5/gpgkey
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300

[varnishcache_varnish5-source]
name=varnishcache_varnish5-source
baseurl=https://packagecloud.io/varnishcache/varnish5/el/7/SRPMS
repo_gpgcheck=1
gpgcheck=0
enabled=1
gpgkey=https://packagecloud.io/varnishcache/varnish5/gpgkey
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300

7. Ahora ejecute el siguiente comando para actualizar su caché local de yum e instale el paquete de barniz caché 5 (no olvide aceptar la clave GPG escribiendo y o durante la instalación del paquete):

# yum -q makecache -y --disablerepo='*' --enablerepo='varnishcache_varnish5'
# yum install varnish 

8. Después de instalar Varnish Cache , el ejecutable principal se instalará como /usr/sbin/varnishd y los archivos de configuración de barniz se encuentran en /etc/varnish/:

  • /etc/varnish/varnish.params – this is the varnish environment configuration file.
  • /etc/varnish/default.vcl – this is the main varnish configuration file, it is written using vanish configuration language(VCL).
  • /etc/varnish/secret – varnish secret file.

9. Puede confirmar que la instalación de Varnish se realizó correctamente viendo la ubicación del ejecutable y la versión de Varnish instalada en su sistema.

$ which varnishd
$ varnishd -V

Paso 3: Configurar Nginx para trabajar con caché de barniz

10. En este paso, debe configurar Nginx para que funcione con Varnish Cache. De forma predeterminada, Nginx escucha en el puerto 80 , debe cambiar el puerto predeterminado de Nginx a 8080 para que se ejecute detrás del almacenamiento en caché de Varnish.

Abra el archivo de configuración de Nginx /etc/nginx/nginx.conf y busque la línea escuchar 80 y cámbiela para escuchar 8080 como en el servidor bloque que se muestra en la captura de pantalla a continuación.

# vi /etc/nginx/nginx.conf
# vi /etc/varnish/varnish.params

12. A continuación, configure Nginx como un servidor backend para el proxy de Varnish, en el archivo de configuración /etc/varnish/default.vcl .

# vi /etc/varnish/default.vcl 

Busque la sección backend y defina la IP y el puerto del host. A continuación se muestra la configuración de backend predeterminada, configúrela para que apunte a su servidor de contenido real.

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

13. Después de realizar todas las configuraciones necesarias, reinicie Nginx HTTPD y Varnish cache para efectuar los cambios anteriores.

# systemctl restart nginx
# systemctl start varnish
# systemctl enable varnish
# systemctl status varnish

Paso 4: Prueba de caché de barniz en Nginx

14. Finalmente, compruebe si la caché de barniz está habilitada y funciona con el servicio Nginx usando el comando cURL a continuación para ver el encabezado HTTP.

# curl -I http://localhost

Puede encontrar información adicional en el repositorio de Github de Varnish Cache: https://github.com/varnishcache/varnish-cache

En este tutorial, explicamos cómo configurar Varnish Cache 5.2 para el servidor HTTP Nginx en CentOS 7. Utilice el formulario de comentarios a continuación para enviarnos cualquier consulta o idea adicional.