Cómo acelerar Nginx con Varnish Cache en CentOS 7

Cómo acelerar Nginx con Varnish Cache en CentOS 7

Varnish Cache. (también denominado Varnish. es un acelerador HTTP de código abierto y alto rendimiento diseñado para acelerar los servidores web. En nuestros últimos artículos, explicamos cómo configurar Varnish Cache para Apache en CentOS 7 y CentOS 8.

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

Requisitos

  1. Un CentOS 7 con Apache instalado
  2. Un CentOS 7 con una dirección IP estática

Paso 1: Instale el servidor web Nginx en CentOS 7

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

# yum install nginx Instalar Nginx en CentOS 7  Instalar Nginx en CentOS 7 Instalar Nginx en CentOS 7

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

# systemctl start nginx # systemctl enable nginx # systemctl status nginx  Iniciar y habilitar Nginx en el arranque  Iniciar y habilitar Nginx en el arranque Inicie y habilite Nginx en el arranque

3.. Ahora modifique reglas de firewall del sistema para permitir paquetes entrantes en el puerto 80. usando los siguientes comandos.

# firewall-cmd–zone = public–permanent–add-port = 80/tcp # firewall-cmd–reload # firewall-cmd–zone = public–permanent–add-port = 8080/tcp # firewall-cmd–reload  Abrir puerto Nginx en el firewall  Abrir puerto Nginx en Firewall Abra el puerto Nginx en el firewall

Paso 2: Instale el barniz Caché en CentOS 7

freestar.config.enabled_slots.push

4.. Ahora hay paquetes RPM precompilados para la última versión de Varnish Cache 6. (es decir, 6.5. en el momento de escribir este artículo), por lo tanto, debe agregar el repositorio oficial de Varnish Cache.

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

# yum install-y epel-release

5.. Luego, instale pygpgme. un paquete para manejar firmas GPG y yum-utils, una colección de utilidades útiles que amplían las características nativas de yum de varias formas.

# 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_varnish65.repo

Importante. asegúrese de reemplazar el y 7 en la configuración a continuación con su distribución y versión de Linux:

[varnishcache_varnish65] name = varnishcache_varnish65 baseurl = https://packagecloud.io/varnishcache/varnish65 /el/7/. $ basearch repo_gpgcheck = 1 gpgcheck = 0 enabled = 1 gpgkey = https://packagecloud.io/varnishcache/varnish65/gpgkey sslverify = 1 sslcacert =/etc/pki/tls/certs/ca-bundle. crt metadata_expire = 300 [varnishcache_varnish65-source] nombre = v arnishcache_varnish65-source baseurl = https://packagecloud.io/varnishcache/varnish65 /el/7/. SRPMS repo_gpgcheck = 1 gpgcheck = 0 enabled = 1 gpgkey = https://packagecloud.io/varnishcache/varnish65/gpgkey sslverify = 1 sslcacert =/etc/pki/tls/certs/ca-bundle.crt metadata_expire = 300

7.. Ahora ejecute el siguiente comando para actualizar su caché yum local e instalar el paquete de caché de barniz (no olvide aceptar la clave GPG escribiendo yo sí mientras instala el paquete):

# yum-q makecache-y–disablerepo = ‘*’–enablerepo = ‘varnishcache_varnish65’ # yum instalar barniz  Instalar Varnish Cache en CentOS 7  Instalar Varnish Cache en CentOS 7 Instalar Varnish Cache en CentOS 7

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

  • /etc/varnish/default.vcl. este es el archivo de configuración de barniz principal, está escrito diez usando el lenguaje de configuración de vanish (VCL).

9.. Ahora inicie el servicio de barniz, habilítelo para que se inicie automáticamente durante el arranque del sistema y verifique su estado para asegurarse que está en funcionamiento de la siguiente manera.

# systemctl start varnish # systemctl enable varnish # systemctl status varnish Iniciar caché de barniz  Iniciar caché de barniz Iniciar Varnish Cache

10.. Puede confirmar que la instalación de Varnish fue exitosa al ver la ubicación del ejecutable de Varnish y la versión instalada en su sistema.

$ which varnishd $ varnishd-V Salida de muestra varnishd (varnish-6.5.1 revisión 1dae23376bb5ea7a6b8e9e4b9ed95cdc9469fb64) Copyright (c) 2006 Verdens Gang AS Copyright (c) 2006-2020 Varnish Software

Paso 3: Configurar Nginx para que funcione con Varnish Cache

11.. 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 listen 80. y cámbiela para escuchar 8080. como en el bloque de servidor que se muestra en la captura de pantalla siguiente.

# vi/etc/nginx/nginx.conf Configurar el puerto de escucha de Nginx  Configurar el puerto de escucha de Nginx Configurar el puerto de escucha de Nginx

Nota. Esto debe hacerse en todos los archivos de configuración de bloques del servidor (generalmente creados en /etc/nginx/conf.d/) para los sitios web que desea publicar a través de Varnish.

12.. A continuación, abra el archivo de configuración del servicio de barniz y busque el parámetro ExecStart. que especifica el puerto en el que escucha Varnish, y cambie su valor de 6081. a 80.

# systemctl edit–full varnish

La línea debe verse como se muestra.

ExecStart =/usr/sbin/varnishd-a: 80-f/etc/varnish/default.vcl-s malloc, 256m  Cambiar puerto de caché de barniz  Cambiar puerto de caché de barniz Cambiar puerto de caché de Varnish

13.. A continuación, configure Nginx como servidor backend para Varnish proxy, 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”;

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

# systemctl daemon-reload # systemctl restart nginx # systemctl restart varnish

Paso 4: Pruebe Varnish Cache en Nginx

15.. Finalmente, pruebe si Varnish cache está habilitado y funciona con el servicio Nginx usando el comando cURL a continuación para ver el encabezado HTTP .

# curl-I http://localhost Salida de muestra HTTP/1.1 200 OK Servidor: nginx/1.16.1 Fecha: miércoles, 06 de enero de 2021 09:24:18 GMT Tipo de contenido: texto/html Contenido-Longitud: 4833 Última modificación: viernes, 16 de mayo de 2014 15:12:48 GMT ETag: “53762af0-12e1” Barniz X: 2 Edad: 0 Vía: barniz 1.1 (Varnish/6.5) Rangos de aceptación: bytes Conexión: mantener-alive

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 para el Servidor HTTP Nginx en CentO S 7. Utilice el formulario de comentarios a continuación para enviarnos consultas o ideas adicionales.