Table of Contents
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.
- Cómo instalar el servidor LEMP en CentOS 8
- 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 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
# 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
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
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 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.
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
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 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
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 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 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 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
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 barniztop
A
# varnishtop
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).