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

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

Caché de barniz (comúnmente conocido como Barniz) es un proxy de código abierto, potente y rápido Http Acelerador con arquitectura moderna 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 o backend de origen) como Nginx, para recibir las solicitudes HTTP de los clientes y reenviarlas al servidor de origen para su procesamiento. Y ofrece la respuesta del servidor de origen a los clientes.

Barniz actúa como intermediario entre Nginx y clientela Pero con algunos beneficios de rendimiento. Su objetivo principal es hacer que sus aplicaciones se carguen más rápido, trabajando como 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). Entonces todas las solicitudes futuras de contenido exactamente similar se atenderán desde el caché.

Esto hace que sus aplicaciones web se carguen más rápido e indirectamente mejora el rendimiento general de su servidor web porque Barniz Servirá el contenido de la memoria en lugar de los archivos de procesamiento de NGINX desde el disco de almacenamiento.

Aparte del almacenamiento en caché, Barniz También tiene varios otros casos de uso que incluyen un enrutador de solicitud HTTP y un equilibrador de carga, firewall de aplicaciones web y más.

El barniz está configurado utilizando el altamente extensible incorporado Lenguaje de configuración de barniz (VCL) que le permite escribir políticas sobre cómo se deben manejar las solicitudes entrantes. Puede usarlo para crear soluciones, reglas y módulos personalizados.

En este artículo, revisaremos los pasos para instalar el Nginx servidor web y Cache de barniz 6 en un nuevo Centos 8 o Rhel 8 servidor. Rhel 8 Los usuarios deben asegurarse de que habiliten la suscripción de Redhat.

Para configurar, un completo Lemplo pila en lugar de instalar el 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. El CentOS/RHEL 8 barcos con la última versión de Nginx Software del servidor web, por lo que lo instalaremos desde el repositorio predeterminado utilizando los siguientes comandos DNF.

# actualización dnf # dnf install nginx 

2. Una vez Nginx Instalado, debe iniciar, habilitar y verificar el estado utilizando los siguientes comandos SystemCTL.

# SystemCTL Start Nginx # SystemCTL Habilitar Nginx # SystemCTL Status Nginx 
Verificar el estado del servicio NGINX

3. Si tiene un poco de curiosidad, también puede verificar el socket Nginx TCP, que se ejecuta en el puerto 80 de forma predeterminada, utilizando el siguiente comando SS.

# ss -tpln 
Verifique el puerto NGINX TCP

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

# firewall-cmd --zone = public --permanent --add-service = http # firewall-cmd--Reload 

Paso 2: Instalación del caché de barniz 6 en CentOS/RHEL 8

5. El CentOS/RHEL 8 provee un Barniz caché dnf módulo de forma predeterminada que contiene versión 6.0 LTS (Soporte a largo plazo).

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

# módulo DNF Instalar barniz 
Instale el caché de barnic en Centos 8

6. Una vez que se completa la instalación del módulo, puede confirmar la versión de Barniz Instalado en su sistema.

# barnishd -v 
Verifique la versión de barniz

7. Después de instalar Caché de barniz, el comando ejecutable principal instalado en /usr/sbin/barnishd y los archivos de configuración de barniz se encuentran en /etc/barniz/.

El archivo /etc/barniz/predeterminado.VCL es el archivo de configuración de barniz principal escrito utilizando VCL y /etc/barniz/secreto es el archivo secreto de barniz.

8. A continuación, comience el Barniz servicio, habilitarlo para iniciar automáticamente durante el arranque del sistema y confirme que está en funcionamiento.

# SystemCTL Start Varnish # SystemCTL Habilitar Varniz # SystemCTL Status Varnish 
Verificar el caché de barniz en Centos 8

Paso 3: Configuración de Nginx para que funcione con caché de barniz

9. En esta sección, mostraremos cómo configurar Caché de barniz correr frente a Nginx. Por defecto, 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 bloque predeterminado del servidor NGINX configurado en el archivo de configuración principal (/etc/nginx/nginx.confusión).

# vi/etc/nginx/nginx.confusión 

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. Correr Barniz delante de Nginx, Debe cambiar el puerto NGINX predeterminado desde 80 a 8080 (o cualquier otro puerto de su elección).

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

Por ejemplo, el bloqueo del servidor para nuestro sitio de prueba tecmenta.lan es /etc/nginx/conf.D/TECMINT.lan.confusión y tiene la siguiente configuración.

servidor escucha 8080; server_name www.tecmenta.Lan; root/var/www/html/tecMint.lan/; Ubicación /  ERROR_PAGE 404 /404.html; Ubicación = /40x.HTML  ERROR_PAGE 500 502 503 504 /50X.html; Ubicación = /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 /etc/nginx/nginx.confusión Archivo como se muestra en la 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

11. Una vez que se complete la configuración, verifique el archivo de configuración de cualquier error y reinicie el servicio NGINX para aplicar cambios recientes.

# nginx -t # systemctl reiniciar nginx 
Verifique la sintaxis de configuración de Nginx

12. A continuación, para recibir Http Solicitudes de los clientes, necesitamos configurar Barniz para ejecutar en el puerto 80. A diferencia de las versiones anteriores de Caché de barniz donde se realizó este cambio en el Barniz Archivo de entorno (que ahora está en desuso), en la versión 6.0 y por encima.

Necesitamos hacer el cambio requerido en el archivo de servicio de barniz. Ejecute el siguiente comando para abrir el archivo de servicio apropiado para la edición.

# SystemCTL Edit -Varizante Full 

Encuentre la siguiente línea y cambie el valor del -a Switch, que especifica la dirección de escucha y el puerto. Establecer el puerto a 80 Como se muestra en la siguiente captura de pantalla.

Nota Si no especifica una dirección, barniz Escuchará todo disponible IPv4 y IPv6 interfaces activas en el servidor.

Execstart =/usr/sbin/barnishd -a: 80 -f/etc/barnish/default.VCL -S MALLOC, 256M 
Cambiar el puerto de escucha de barniz

Guarde los cambios en el archivo y salga.

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

# vi/etc/barniz/predeterminado.VCL 

Busque la sección de configuración de backend predeterminada y cambie la cadena "por defecto" a servidor 1 (o cualquier nombre de su elección para representar su servidor de origen). Luego configure el puerto a 8080 (o el puerto de escucha NGINX que definió en su bloque de servidor).

Backend Server1  .host = "127.0.0.1 "; .puerto = "8080";  
Establecer servidores de backend de barniz predeterminados

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

Backend Server1  .host = "10.42.0.247 "; .puerto = "8080";  

Guarde el archivo y cierre.

14. A continuación, necesitas recargar el system Configuración del administrador 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 Reload de demonio # SystemCTL Reiniciar barniz 

15. Ahora confirme que Nginx y Barniz están escuchando en el configurado TCP bocadillos.

# ss -tpln 
Confirmar los puertos Nginx y barniz

Paso 4: Prueba de configuración de caché de barniz nginx

dieciséis. A continuación, verifique que las páginas web se sirvan a través de Caché de barniz como sigue. Abra un navegador web y navegue usando el servidor IP o FDQN como se muestra en la siguiente captura de pantalla.

http: // www.tecmin.lan o http: // 10.42.0.144 
Verifique las páginas Nginx atendidas a través de la caché de barniz

17. Alternativamente, use el comando curl como se muestra. Use la dirección IP de su servidor o el FQDN del sitio web o use 127.0.0.1 o localhost si está probando localmente.

# curl -i http: /// www.tecmenta.lan 
Verifique la página de caché de barniz nginx usando curl

Útiles utilidades de administración de caché de barniz

18. En esta sección final, describiremos brevemente algunos de los programas de utilidad útiles que Caché de barniz se envía con, que puedes usar para controlar barniz, acceder a registros en memoria y estadísticas generales y más.

barnishadm

barnishadm una utilidad para controlar una instancia de barniz en ejecución. Establece una conexión CLI con Varnishd. Por ejemplo, puede usarlo para enumerar los backends configurados como se muestra en la siguiente captura de pantalla (leer hombre barnishadm para más información).

# barnishadm barniz> backend.lista 
Lista de backends configurados

parnishlog

El parnishlog La utilidad proporciona acceso a datos específicos de solicitudes. Ofrece información sobre clientes y solicitudes específicos (leer Man barnishlog para más información).

# barnishlog 
Verifique la información sobre clientes y solicitudes

estatista

A estatista también conocido como estadísticas de barniz, que le da un vistazo al rendimiento actual de Varnish al proporcionar acceso a estadísticas en memoria, como golpes de caché y fallas, información sobre el almacenamiento, hilos creados, objetos eliminados (lea hombre barnizstat para más información).

# barnishstat 
Mostrar estadísticas de barniz

barnicto

A barnicto La utilidad lee los registros de memoria compartida y presenta una lista continuamente actualizada de las entradas de registro más comunes (leer barnishtop de hombre para más información).

# barnishtop 
Ver registros de memoria compartida

barnicista

A barnicista (Historial de barniz) Utilidad analiza los registros y emite un histograma actualizado continuamente que muestra la distribución de la última norte Solicitudes por su procesamiento (leer hombre barnizhist para más información).

# barnishhist 
Mostrar histograma de solicitudes

Eso es todo! En esta guía, hemos demostrado cómo instalar Caché de barniz y ejecutarlo frente al Nginx http servidor para acelerar la entrega de contenido web en CentOS/RHEL 8.

Cualquier pensamiento o pregunta sobre esta guía se puede compartir utilizando el formulario de comentarios a continuación. Para obtener más información, lea la documentación de caché de barniz.

El principal inconveniente de Caché de barniz es su falta de apoyo nativo para Https. Para permitir Https En su sitio web/aplicación, debe configurar un proxy de terminación SSL/TLS para funcionar junto con Caché de barniz Para proteger su sitio. En nuestro próximo artículo, mostraremos cómo habilitar HTTPS para Varnish Cache usando Hitch en CentOS/RHEL 8.