Alijo de barniz es un acelerador de aplicaciones web gratuito, de código abierto, moderno y de alto rendimiento. Es un proxy HTTP inverso rápido que almacena contenido en caché para acelerar el rendimiento de su servidor web, almacenando contenido web en la memoria del servidor, en un caché. Está configurado para ejecutarse frente a un servidor de origen como Apache (HTTPD ) servidor web.
Cuando un cliente solicita contenido, Varnish acepta el HTTP solicitud, envía la solicitud al servidor de origen, almacena en caché los objetos devueltos y responde a la solicitud del cliente. La próxima vez que el cliente solicite el mismo contenido, Varnish lo servirá desde el caché. De esta forma, reduce el tiempo de respuesta y el consumo de ancho de banda de la red en futuras solicitudes equivalentes.
Barniz también funciona como HTTP solicite enrutador, firewall de aplicaciones web, balanceador de carga y más. Se configura utilizando el flexible Lenguaje de configuración de Varnish (VCL ) que es extensible usando Módulos Varnish (también conocidos como VMOD ), compatibilidad con Incluye borde lateral (ESL ), compresión y descompresión Gzip, y mucho más.
En este artículo, aprenderá a instalar Apache HTTPD servidor web y Varnish Cache 6 en un nuevo CentOS/RHEL 8 servidor, incluida la configuración de Varnish para que se ejecute frente a HTTPD servidor.
Requisitos previos:
- Un servidor con instalación de CentOS 8
- Un servidor con instalación de RHEL 8 con suscripción de Red Hat habilitada en su sistema.
Paso 1:Instalación del servidor web Apache en CentOS/RHEL 8
# dnf update
# dnf install httpd
# systemctl start httpd # systemctl enable httpd # systemctl status httpd
Verificar el estado del servidor web Apache
# firewall-cmd --zone=public --permanent --add-service=http # firewall-cmd --reload
Paso 2:Instalación de Varnish Cache 6.4 en CentOS/RHEL 8
# dnf module install varnish
Instale Varnish Cache en CentOS 8
# varnishd -V
Comprobar versión de barniz
- /etc/varnish/default.vcl – es el archivo de configuración de barniz principal escrito con VCL.
- /etc/varnish/secret – es el archivo secreto de barniz.
# systemctl start varnish # systemctl enable varnish # systemctl status varnish
Verificar estado de caché de Varnish
Paso 3:Configuración de Apache para que funcione con Varnish Cache
Ábralo para editarlo con su editor de texto favorito.
# vi /etc/httpd/conf/httpd.conf
Busque el Escuchar parámetro. Para ejecutar Varnish frente al servidor Apache, debe cambiar el puerto predeterminado 80 a 8080 (o cualquier otro puerto de su elección) como se muestra en la siguiente captura de pantalla.
Este puerto se agregará como el puerto del servidor backend en el archivo de configuración de Varnish más adelante.
Cambiar el puerto predeterminado de Apache
Además, la configuración del host virtual para cada sitio web/aplicación que servirá a través de Varnish debe configurarse para escuchar el puerto anterior. Aquí está la configuración para nuestro sitio de prueba (/etc/httpd/conf.d/tecmint.lan.conf ).
<VirtualHost *:8080> DocumentRoot "/var/www/html/tecmint.lan/" ServerName www.tecmint.lan # Other directives here </VirtualHost>
Configuración de host virtual de Apache
Importante :Para evitar que se utilice la página de prueba predeterminada del servidor Apache HTTP, comente todas las líneas del archivo /etc/httpd/conf.d/welcome.conf o simplemente elimine el archivo.
# rm /etc/httpd/conf.d/welcome.conf
# httpd -t # systemctl restart httpd
Compruebe la configuración de Apache
Configuración de Varnish para Systemd
Tenga en cuenta que en Varnish Cache 6.0 y superior, debe configurar el puerto servidor Varnish escucha en el archivo de servicio Varnish para systemd . Primero, ábralo para editarlo.
# systemctl edit --full varnish
Busque el ExecStart línea, luego cambie el valor de -a
cambiar (que especifica el barniz escucha la dirección y el puerto) de :6081
a :80
como se indica en la siguiente captura de pantalla.
Es importante destacar 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.
Configuración de servidores back-end de Varnish mediante VCL
# vi /etc/varnish/default.vcl
Hay un backend predeterminado sección de configuración llamada predeterminada . Puede cambiar "predeterminado ” a servidor1 (o cualquier nombre de su elección para cumplir con los estándares ambientales). De forma predeterminada, el host el parámetro apunta al localhost , suponiendo que el servidor backend se ejecuta en el host local.
Luego configure el puerto en 8080 (el puerto que definió en el archivo de configuración de host virtual de Apache) como se muestra en la captura de pantalla.
backend server1 { .host = "127.0.0.1"; .port = "8080"; }
Configurar servidores backend Varnish
Si su backend el servidor se ejecuta en un host diferente, por ejemplo, otro servidor con dirección 10.42.1.10 , luego el anfitrión el parámetro debe apuntar a esta dirección IP.
backend server1 { .host = "10.42.1.10"; .port = "8080"; }
Guarde el archivo y ciérrelo.
# systemctl daemon-reload # systemctl restart varnish
# ss -tpln
Compruebe Varnish y Apache Listening Sockets
Paso 4:Probar Varnish Cache y la configuración de Apache
http://10.42.0.144 OR http://www.tecmin.lan
A continuación, compruebe si las páginas web se publican a través de Varnish Cache. como sigue. Compruebe el HTTP encabezados haciendo clic con el botón derecho en la página web mostrada, seleccione Inspeccionar para abrir las herramientas de desarrollo, luego haga clic en Red pestaña y recargar la página. Luego seleccione una solicitud para ver los encabezados HTTP para confirmar esto como se muestra en la siguiente captura de pantalla.
Comprobar que la página web se sirve a través de Varnish Cache
Alternativamente, puede ejecutar el siguiente comando curl para verificarlo.
# curl -I http:///10.42.0.144 OR #curl -I http:///www.tecmint.lan
Compruebe la configuración de Varnish y Apache
Programas útiles de la utilidad Varnish Cache
barnizhadm
El primero es varnishadm que se utiliza para administrar un varnish en ejecución instancia. Establece una conexión de interfaz de línea de comandos con varnishd . Puede afectar una instancia en ejecución de Varnish iniciando y deteniendo varnishd , cambiar los parámetros de configuración, recargar la VCL, enumerar backends y más.
# varnishadm > backend.list
Administrar barniz con la herramienta Varnishadm
Para obtener más información, lea man varnishadm .
registro de barniz
El siguiente programa es varnishlog que se utiliza para acceder a datos específicos de la solicitud (es decir, información sobre solicitudes y clientes específicos). Proporciona gran cantidad de información, por lo que suele ser necesario filtrarla.
# varnishlog
Varnishlog:comprobar el rendimiento de la caché Varnish
Para obtener más información, lea el man varnishlog .
varnishstat
También tenemos varnishstat (estadísticas de barniz ) que se utiliza para acceder a estadísticas generales, como el número total de solicitudes, el número de objetos y más.
# varnishstat
varnishstat – Mostrar estadísticas de barniz
Para obtener más información, lea el man varnishstat .
tapa barnizada
Luego tenemos varnishtop que una utilidad que lee el Varnish log y presenta una lista continuamente actualizada de las entradas de registro más frecuentes.
# varnishtop
varnishtop:lee registros de Varnish
Para obtener más información, lea el barniz de hombre .
barnizista
Otra utilidad útil es varnishhist (historial de barniz ) la utilidad lee los registros de Varnish y presenta un histograma continuamente actualizado que muestra la distribución de los últimos N solicitudes por su procesamiento.
# varnishhist
varnishstat – Mostrar historial de registro de barniz
Para obtener más información, lea el hombre barnizador .
¡Ahí tienes! Ha implementado con éxito Varnish Cache para acelerar el contenido de su aplicación web mediante Apache HTTP Servidor en CentOS/RHEL 8 .
Si tiene alguna consulta sobre este tema o ideas para compartir, utilice el formulario de comentarios a continuación. Consulte la documentación de Varnish Cache 6.0 para obtener más información.
Si desea habilitar HTTPS en su sitio, consulte nuestro próximo artículo, que le mostrará cómo habilitar SSL/TLS para Varnish Cache usando Hitch en CentOS/RHEL 8 .
Compartir es cuidar…Compartir en FacebookCompartir en TwitterCompartir en LinkedinCompartir en Reddit