Alijo de barniz (comúnmente conocido como barniz ) es un proxy inverso 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 de origen o backend) como Nginx , para recibir solicitudes HTTP de clientes y reenviarlas al servidor de origen para su procesamiento. Y entrega la respuesta desde el servidor de origen a los clientes.
Barniz 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, al funcionar 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 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 Varnish servirá contenido desde la memoria en lugar de que Nginx procese archivos desde el disco de almacenamiento.
Aparte del almacenamiento en caché, Varnish también tiene varios otros casos de uso, incluido un enrutador de solicitud HTTP y un equilibrador de carga, un firewall de aplicaciones web y más.
El barniz se configura usando el Lenguaje de configuración Varnish incorporado altamente extensible (VCL ) que le permite escribir políticas sobre cómo deben manejarse las solicitudes entrantes. Puede usarlo para crear soluciones, reglas y módulos personalizados.
En este artículo, veremos los pasos para instalar Nginx servidor web y Varnish Cache 6 en un nuevo CentOS 8 o RHEL 8 servidor.
Para configurar, un LEMP completo pila en lugar de instalar el Nginx servidor web solo, consulta 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
# dnf update # dnf install nginx
# systemctl start nginx # systemctl enable nginx # systemctl status nginx
Verificar el estado del servicio Nginx
# ss -tpln
Compruebe el puerto TCP de Nginx
# firewall-cmd --zone=public --permanent --add-service=http # firewall-cmd --reload
Paso 2:Instalación de Varnish Cache 6 en CentOS/RHEL 8
Para instalar el módulo, ejecute el siguiente comando.
# dnf module install varnish
Instalar Varnish Cache en CentOS 8
# varnishd -V
Comprobar versión de barniz
El archivo /etc/varnish/default.vcl es el archivo de configuración de barniz principal escrito usando VCL y /etc/varnish/secret es el archivo secreto de barniz.
# systemctl start varnish # systemctl enable varnish # systemctl status varnish
Verifique Varnish Cache en CentOS 8
Paso 3:Configuración de Nginx para que funcione con Varnish Cache
Por ejemplo, eche un vistazo al bloque de servidor nginx predeterminado configurado en el archivo de configuración principal (/etc/nginx/nginx.conf ).
# vi /etc/nginx/nginx.conf
Busque la sección de bloqueo del servidor como se muestra en la siguiente captura de pantalla.
Configuración del bloque del servidor Nginx
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 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; server_name 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 bloqueo del servidor predeterminado comentando su sección de configuración en /etc/nginx/nginx.conf 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 bloqueo del servidor Nginx
# nginx -t # systemctl restart nginx
Comprobar la sintaxis de configuración de Nginx
Necesitamos hacer el cambio requerido en el archivo de servicio Varnish. Ejecute el siguiente comando para abrir el archivo de servicio apropiado para editarlo.
# systemctl edit --full varnish
Busque la siguiente línea y cambie el valor de -a
switch, que especifica la dirección de escucha y el puerto. Establezca 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á en todos los IPv4 disponibles y IPv6 interfaces activas en el servidor.
ExecStart=/usr/sbin/varnishd -a :6081 -f /etc/varnish/default.vcl -s malloc,256m
Cambiar el puerto de escucha de Varnish
Guarde los cambios en el archivo y salga.
# vi /etc/varnish/default.vcl
Busque la sección de configuración de back-end predeterminada y cambie la cadena "default ” a servidor1 (o cualquier nombre de su elección para representar su servidor de origen). Luego configure el puerto en 8080 (o el puerto de escucha de Nginx que definiste en tu bloque de servidor).
backend server1 { .host = "127.0.0.1"; .port = "8080"; }
Establecer servidores backend predeterminados de Varnish
Para esta guía, estamos ejecutando Varnish y Nginx en el mismo servidor. Si su servidor web Nginx se ejecuta en un host diferente. Por ejemplo, otro servidor con dirección 10.42.0.247 , luego configura .host
parámetro como se muestra.
backend server1 { .host = "10.42.0.247"; .port = "8080"; }
Guarde el archivo y ciérrelo.
# systemctl daemon-reload # systemctl restart varnish
# ss -tpln
Confirmar puertos Nginx y Varnish
Paso 4:Probar la configuración de caché de Nginx Varnish
http://www.tecmin.lan OR http://10.42.0.144
Verificar las páginas de Nginx servidas a través de Varnish Cache
# curl -I http:///www.tecmint.lan
Verifique la página de caché de Nginx Varnish usando Curl
Utilidades útiles de administración de caché Varnish
barnizhadm
barnizhadm una utilidad para controlar una instancia de Varnish 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 (lea man varnishadm para más información).
# varnishadm varnish> backend.list
Lista de servidores configurados
registro de barniz
El registro de barniz La utilidad proporciona acceso a datos específicos de la solicitud. Ofrece información sobre solicitudes y clientes específicos (lea man varnishlog para más información).
# varnishlog
Consultar información sobre clientes y solicitudes
varnishstat
Un varnishstat también conocido como estadísticas de barniz , que le brinda un vistazo al rendimiento actual de Varnish al proporcionar acceso a estadísticas en memoria, como aciertos y errores de caché, información sobre el almacenamiento, subprocesos creados, objetos eliminados (lea man varnishstat para más información).
# varnishstat
Mostrar estadísticas de barniz
tapa barnizada
Un tapa de barniz La utilidad lee los registros de memoria compartida y presenta una lista continuamente actualizada de las entradas de registro que ocurren con más frecuencia (leer man varnishtop para más información).
# varnishtop
Ver registros de memoria compartida
barnizista
Un barnicista (historial de barniz ) La utilidad analiza los registros de barniz y genera un histograma continuamente actualizado que muestra la distribución de los últimos n solicitudes por su procesamiento (léase man varnishhist para más información).
# varnishhist
Mostrar histograma de solicitudes
¡Eso es todo! En esta guía, hemos mostrado cómo instalar Varnish Cache y ejecútelo delante de 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 Varnish Cache 6.0.
El principal inconveniente de Varnish Cache es su falta de soporte nativo para HTTPS . Para habilitar HTTPS en su sitio web/aplicación, debe configurar un proxy de terminación SSL/TLS para que funcione junto con Varnish Cache para proteger su sitio. En nuestro próximo artículo, mostraremos cómo habilitar HTTPS para Varnish Cache usando Hitch en CentOS/RHEL 8 .
Compartir es cuidar…Compartir en FacebookCompartir en TwitterCompartir en LinkedinCompartir en Reddit