Cómo instalar Varnish Cache 6 para Nginx en CentOS/RHEL 8

Cómo instalar Varnish Cache 6 para Nginx en CentOS/RHEL 8

Varnish Cache. (comúnmente conocido como Varnish. es un acelerador HTTP. de proxy inverso de código abierto, potente y rápido con arquitectura y lenguaje de configuración flexible. Ser un proxy inverso simplemente significa que es un software que puede implementar frente a su servidor web (que es el servidor de origen o backend) como Nginx. para recibir las solicitudes HTTP de los clientes y reenviarlas al servidor de origen para su procesamiento. Y entrega la respuesta del servidor de origen a los clientes.

Varnish. actúa como intermediario entre Nginx. y clientes. pero con algunos beneficios de rendimiento. Su objetivo principal es hacer que sus aplicaciones se carguen más rápido, trabajando como un motor de almacenamiento en caché. Recibe solicitudes de los clientes y las reenvía al backend una vez para almacenar en caché el contenido solicitado (almacenar archivos y fragmentos de archivos en la memoria). Luego, todas las solicitudes futuras de contenido exactamente similar se atenderán desde la caché.

Esto hace que sus aplicaciones web se carguen más rápido y mejora indirectamente el rendimiento general de su servidor web porque Varnish. entregará contenido de memoria en lugar de Nginx procesando archivos desde el disco de almacenamiento.

Además del almacenamiento en caché, Varnish. también tiene varios otros casos de uso, incluido un enrutador de solicitud HTTP y un equilibrador de carga, firewall de aplicaciones web, y más.

El barniz. se configura mediante el lenguaje de configuración de barniz. ( VCL. integrado y altamente extensible que permite que escriba políticas sobre cómo se deben manejar las solicitudes entrantes. Puede usarlo para crear soluciones, reglas y módulos personalizados.

freestar.config.enabled_slots.push

En este artículo, siga los pasos para instalar el servidor web Nginx. y Varnish Cache 6. en un CentOS 8. o RHEL 8. nuevos. servidor. Los usuarios de RHEL 8. deben asegurarse de habilitar la suscripción a redhat.

Para configurar, una pila completa de LEMP. en lugar de instalar Nginx. servidor web solo, consulte las siguientes guías.

  1. Cómo instalar el servidor LEMP en CentOS 8
  2. Cómo instalar el servidor LEMP en RHEL 8

Paso 1: Instale el servidor web Nginx en CentOS/RHEL 8

1.. CentOS/RHEL 8. se envía con la última versión del software del servidor web Nginx. por lo que lo instalaremos desde el repositorio predeterminado usando los siguientes comandos dnf.

# dnf update # dnf install nginx

2.. Una vez instalado Nginx. debe iniciar, habilitar y verificar el estado mediante los siguientes comandos systemctl.

# systemctl start nginx # systemctl enable nginx # systemctl status nginx  Verificar el estado del servicio de Nginx  Verificar el estado del servicio de Nginx Verificar el servicio Nginx S t atus

3.. Si tiene un poco de curiosidad, también puede verificar el socket TCP de Nginx, que se ejecuta en el puerto 80 por defecto, usando el siguiente comando ss.

# ss-tpln  Verificar Nginx Puerto TCP  Compruebe el puerto TCP de Nginx Verificar Nginx Puerto TCP

4.. Si está ejecutando el firewall en el sistema, asegúrese de actualizar las reglas del firewall para permitir solicitudes a un servidor web.

# firewall-cmd–zone = public–permanent–add-service = http # firewall-cmd–reload

Paso 2: Instalar Varnish Cache 6 en CentOS/RHEL 8

5.. El CentOS/RHEL 8. proporciona un módulo Varnish Cache DNF. de forma predeterminada que contiene la versión 6.0. LTS. ( Soporte a largo plazo. .

Para instalar el módulo, ejecute el siguiente comando.

# dnf module install varnish Instalar Varnish Cache en CentOS 8  Instalar Varnish Cache en CentOS 8 Instalar Varnish Cache en CentOS 8

6.. Una vez completada la instalación del módulo, puede confirmar la versión de Varnish. instalada en su sistema.

# varnishd-V  Verificar versión de barniz  Verificar versión de barniz Verificar versión de barniz

7.. Después de instalar Varnish Cache. el comando ejecutable principal instalado en /usr/sbin/varnishd. y los archivos de configuración de barniz se encuentran en /etc/varnish/.

El archivo /etc/varnish/default.vcl. es el archivo de configuración de barniz principal escrito con VCL. y /etc/varnish/secret. es el archivo secreto de barniz.

8.. A continuación, inicie el servicio Varnish. habilítelo para que se inicie automáticamente durante el inicio del sistema y confirme que está en funcionamiento.

# systemctl start varnish # systemctl enable varnish # systemctl status barniz Verificar la caché de barniz en CentOS 8 Verificar la caché de barniz en CentOS 8 Verificar Varnish Cache en CentOS 8

Paso 3: Configurar Nginx para trabajar con Varnish Cache

9.. En esta sección, mostraremos cómo configurar Varnish Cache. para que se ejecute frente a Nginx. De forma predeterminada, Nginx escucha en el puerto 80. normalmente cada bloque de servidor (o host virtual) está configurado para escuchar en este puerto.

Por ejemplo, eche un vistazo al servidor nginx predeterminado bloque configurado en el archivo de configuración principal (/etc/nginx/nginx.conf. .

# vi/etc/nginx/nginx.conf

Busque la sección del bloque del servidor como se muestra en la siguiente captura de pantalla.

 Nginx Configuración del bloque del servidor  Configuración del bloque del servidor Nginx Configuración del bloque del servidor Nginx

10.. Para ejecutar Barniz frente a Nginx. debe cambiar el puerto Nginx predeterminado de 80. a 8080. (o cualquier otro puerto de su elección).

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

Por ejemplo, el bloque del servidor para nuestro sitio de prueba tecmint.lan es /etc/nginx/conf.d/tecmint.lan.conf. y tiene la siguiente configuración.

server listen 8080; nombre_servidor www.tecmint.lan; root/var/www/html/tecmint.lan/; location/ error_page 404/404.html; location =/40x.html error_page 500 502 503 504/50x.html; location =/50x.html Configuración del bloque del servidor Nginx  Configuración del bloque del servidor Nginx Configuración del bloque del servidor Nginx

Importante. recuerde deshabilitar el bloque de servidor predeterminado comentando su sección de configuración en el archivo /etc/nginx/nginx.conf. como se muestra en el siguiente captura de pantalla. Esto le permite comenzar a ejecutar otros sitios web/aplicaciones en su servidor; de lo contrario, Nginx siempre dirigirá las solicitudes al bloque de servidor predeterminado.

 Deshabilitar el bloque del servidor Nginx  Deshabilitar el bloque del servidor Nginx Deshabilitar el bloqueo del servidor Nginx

11.. Una vez que se complete la configuración, verifique si hay errores en el archivo de configuración y reinicie el servicio Nginx para aplicar los cambios recientes.

# nginx-t # systemctl restart nginx Verifique la sintaxis de configuración de Nginx Verificar la configuración de Nginx Sintaxis Compruebe la sintaxis de configuración de Nginx

12.. A continuación, para recibir solicitudes HTTP. de los clientes, debemos configurar Barniz. para ejecutar en el puerto 80. A diferencia de las versiones anteriores de Varnish Cache. donde este cambio se realizó en el archivo de entorno Varnish. (que ahora está obsoleto), en la versión 6.0. y superior .

Necesitamos realizar el cambio necesario en el archivo de servicio de Varnish. Ejecute el siguiente comando para abrir el archivo de servicio apropiado para su edición.

# systemctl edit–full varnish

Busque la siguiente línea y cambie el valor del conmutador-a, que especifica la dirección de escucha y el puerto. Configure el puerto en 80. como se muestra en la siguiente captura de pantalla.

Tenga en cuenta que si no especifica una dirección, varnishd. escuchará todos los Interfaces IPv4. e IPv6. activas en el servidor.

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

Guarde los cambios en el archivo y salga.

13.. A continuación, debe definir el servidor backend que Varnish. visitará para buscar contenido. Esto se hace en el archivo de configuración principal de Varnish.

# vi/etc/varnish/default.vcl

Busque la sección de configuración de backend predeterminada y cambie la cadena “ default. a server1. (o cualquier nombre de su elección para representar su servidor de origen). Luego configure el puerto en 8080. (o el puerto de escucha Nginx que definió en su bloque de servidor).

backend server1 .host = “127.0.0.1”; .port = “8080”;  Establecer Servidores backend de Varnish predeterminados  Establecer servidores de backend de barniz predeterminados Establecer barniz predeterminado Servidores backend

Para esta guía, estamos ejecutando Varnish. y Nginx. en el mismo servidor. Si su servidor web Nginx se está ejecutando en un host diferente. Por ejemplo, otro servidor con la dirección 10.42.0.247. luego configure el parámetro .host como se muestra.

backend server1 .host = “10.42.0.247”; .port = “8080”;

Guarde el archivo y ciérrelo.

14.. A continuación, debe volver a cargar la configuración del administrador systemd. debido a los cambios recientes en el archivo de servicio Varnish, luego reinicie el servicio Varnish para aplicar los cambios de la siguiente manera.

# systemctl daemon-reload # systemctl restart varnish

15.. Ahora confirme que Nginx. y Varnish. están escuchando en los sockets TCP. configurados.

# varnishadm barniz> backend.list Lista de backends configurados  Lista de backends configurados Lista de backends configurados varnishlog

El varn La utilidad ishlog. proporciona acceso a datos específicos de la solicitud. Ofrece información sobre solicitudes y clientes específicos (lea man varnishlog. para obtener más información).

# varnishlog  Verifique información sobre clientes y solicitudes  Verificar información sobre clientes y solicitudes Verificar información sobre clientes y solicitudes varnishstat

Una varnishstat. también conocida como estadísticas de barnices. que le da un vistazo al rendimiento actual de Varnish al proporcionar acceso a-Estadísticas de memoria, como aciertos y errores de caché, información sobre el almacenamiento, hilos creados, objetos eliminados (lea man varnishstat para obtener más información).

# varnishstat Mostrar Estadísticas de barniz  Mostrar estadísticas de barniz Mostrar estadísticas de barniz barniztop

A varnishtop. lee los registros de memoria compartida y presenta una lista continuamente actualizada de las entradas de registro que ocurren con más frecuencia (lea man varnishtop. para obtener más información).

# varnishtop  Ver registros de memoria compartida  Ver registros de memoria compartida Ver registros de memoria compartida varnishhist

Una utilidad varnishhist. (historial de barnices. analiza los registros de barniz y genera un histograma actualizado continuamente que muestra la distribución de las últimas n. solicitudes por su procesamiento (lea man varnishhist. para obtener más información).