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

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

Varnish Cache. 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 en caché el contenido para acelerar el rendimiento de su servidor web, almacenando el contenido web en la memoria del servidor, en un caché. Está configurado para ejecutarse frente a un servidor de origen como el servidor web Apache. ( HTTPD. .

Cuando un cliente solicita contenido, Varnish. acepta la solicitud HTTP. 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 la caché. De esta manera, reduce el tiempo de respuesta y el consumo de ancho de banda de la red en futuras solicitudes equivalentes.

Varnish. también funciona como un enrutador de solicitudes HTTP. firewall de aplicaciones web, balanceador de carga y más. Se configura mediante el lenguaje de configuración de barniz. flexible ( VCL. que se puede ampliar mediante los módulos de barniz. (también conocidos como VMOD. , compatibilidad con Edge Side Included. ( ESL. , compresión y descompresión Gzip, y mucho más.

En este artículo, aprenderá cómo para instalar el servidor web Apache HTTPD. y Varnish Cache 6. en un servidor CentOS/RHEL 8. nuevo, incluida la configuración de Varnish para que se ejecute frente a Servidor HTTPD.

Requisitos previos:

  • Un servidor con instalación de CentOS 8
  • Un servidor con instalación de RHEL 8 con suscripción a Red Hat habilitada en su sistema.

Paso 1: Instalar el servidor web Apache en CentOS/RHEL 8

1.. Empiece por actualizar todos los paquetes de software instalados en el sistema de la siguiente manera usando el comando DNF.

# dnf update freestar.config.enabled_slots.push ( LocationName: “tecmint_incontent”, slotId: “tecmint_incontent”);

2.. A continuación, ejecute el siguiente comando para instalar el servidor web Apache HTTP. desde el Repositorio AppStream.

# dnf install httpd

3.. Tan pronto como se complete la instalación, inicie el servicio httpd, habilítelo para que se inicie automáticamente durante el arranque del sistema, y verifique su estado para confirmar que está funcionando, usando el comando systemctl.

# systemctl start httpd # systemctl enable httpd # systemctl status httpd  Verificar el estado del servidor web Apache  Verificar el estado del servidor web Apache Verificar el estado del servidor web Apache

4.. De forma predeterminada, CentOS/RHEL 8. incluye un firewall completamente bloqueado (ejecute firewall-cmd –state. para confirmar). Debe abrir el acceso al servicio HTTP en el firewall para permitir a los usuarios acceder a sitios web o aplicaciones que se ejecutan en HTTP. y también volver a cargar la configuración de firewalld para aplicar los nuevos cambios.

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

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

5.. Ahora que el servidor web Apache se está ejecutando, puede continuar con la instalación de Varnish Cache. en el sistema mediante el siguiente comando.

# barniz de instalación del módulo dnf  Instalar Caché de barniz en CentOS 8 Instalar Varnish Cache en CentOS 8 Instalar Varnish Cache en CentOS 8

6.. Después de una instalación exitosa, puede verificar la versión de Varnish. instalada en su sistema.

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

7.. A continuación, el ejecutable principal está instalado como /usr/sbin/varnishd. Además, los archivos de configuración de Varnish se almacenan en el directorio /etc/varnish. donde:

  • /etc/varnish/default.vcl. es el archivo de configuración de barniz principal escrito usando VCL.
  • /etc/varnish/secret. es el archivo secreto de barniz.

8.. Ahora inicie el servicio de barniz, por ahora, habilítelo para que se inicie automáticamente durante el arranque del sistema en caso de que se reinicie el servidor y verifique su estado para asegurarse de que esté en funcionamiento de la siguiente manera.

# systemctl start varnish # systemctl enable varnish # systemctl status barniz Verificar estado de caché de barniz Verificar estado de caché de barniz Verificar Estado de Varnish Cache

Paso 3: Configuración de Apache para que funcione con Varnish Cache

9.. Ahora es el momento de configurar Varnish Cache. para que se ejecute al frente del servicio Apache. Por defecto, el servidor Apache está configurado para escuchar en el puerto 80. esto se define en el archivo de configuración principal /etc/httpd/conf/httpd.conf.

Ábralo para editarlo con su editor de texto favorito.

# vi/etc/httpd/conf/httpd.conf

Busque el parámetro Escuchar. 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 ancho del puerto predeterminado de Apache  Cambiar el puerto predeterminado de Apache Cambiar el puerto predeterminado de Apache

Además, la configuración del host virtual para cada sitio web/La 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 # Otras directivas aquí  Configuración del host virtual Apache  Configuración del host virtual de Apache Configuración del host virtual Apache

Importante. Para evitar que se utilice la página de prueba del servidor HTTP Apache predeterminada, comenta todas las líneas del archivo /etc/httpd/conf.d/welcome.conf. o simplemente elimine el archivo.

# rm/etc/httpd/conf.d/welcome.conf

10.. A continuación, pruebe la sintaxis de configuración httpd en busca de errores. Si está bien, reinicie el servicio httpd para aplicar los nuevos cambios.

# httpd-t # systemctl restart httpd  Comprobar configuración de Apache  Verificar la configuración de Apache Verificar la configuración de Apache Configurando Varnish para Systemd

11.. Para implementar Varnish frente a HTTPD. simplemente debe configurarlo para escuchar las solicitudes del cliente en el puerto HTTP predeterminado 80. como se explica a continuación.

Tenga en cuenta que en Varnish Cache 6.0. y superior, yo Tienes que configurar el puerto. que escucha el servidor de barniz en el archivo de servicio de Varnish para systemd. Primero, ábralo para editarlo.

# systemctl edit–full varnish

Busque la línea ExecStart. luego cambie el valor de la opción-a (que especifica el barniz que escucha la dirección y el puerto) desde: 6081 a: 80 como se indica en la siguiente captura de pantalla.

Es importante destacar 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 barniz Puerto de escucha Cambiar puerto de escucha de Varnish

Guarde los cambios en el archivo y salga.

Configuración de servidores backend de Varnish usando VCL

12.. Ahora, debe configurar el servidor de origen, conocido en la terminología de Varnish. como backend. Es el servidor que entiende HTTP, con el que habla Varnish, para buscar contenido, httpd en este caso. Está configurado en el archivo de configuración principal /etc/varnish/default.vcl.

# vi/etc/varnish/default.vcl

Hay un backend sección de configuración llamada predeterminado. Puede cambiar “ predeterminado. a servidor1. (o cualquier nombre que elija para cumplir con los estándares de su entorno). De forma predeterminada, el parámetro host. apunta al localhost. asumiendo que el servidor backend se ejecuta en el localhost.

Luego configure el puerto en 8080. (el puerto que definió en el archivo de configuración del host virtual Apache) como se muestra en la captura de pantalla.

backend server1 .host = “127.0 .0,1 “; .port = “8080”;  Configurar servidores de fondo de Varnish  Configurar servidores de fondo de Varnish Configurar servidores de fondo de Varnish

Si su servidor de fondo. se está ejecutando en un host diferente, por ejemplo, otro servidor con la dirección 10.42.1.10. entonces el parámetro host. debe apuntar a esta dirección IP.

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

Guarde el archivo y ciérrelo.

13.. Después de realizar todos los cambios necesarios relacionados con Varnish. vuelva a cargar systemd. configuración del administrador para reflejar los nuevos cambios en el archivo del servicio Varnish y también reiniciar el servicio Varnish para aplicar los cambios generales.

# systemctl daemon-reload # systemctl restart varnish

14.. En este punto, Varnish. y Apache deberían estar escuchando en el puerto 80. y 8080. respectivamente. Puede confirmar esto usando el comando de estadísticas de socket.

# ss-tpln  Verifique Varnish y Apache Listening Sockets  Verifique Varnish y Apache Listening Sockets Comprobar los sockets de escucha de Varnish y Apache

Paso 4: Probar la configuración de Apache y la caché de Varnish

14.. Para probar la configuración de Varnish Cache-HTTPD. abra un navegador web y navegue utilizando el servidor IP. o FQDN. como se muestra en la siguiente captura de pantalla.

http://10.42.0.144 O http://www.tecmin.lan

Luego, verifique si las páginas web se sirven a través de Varnish Cache de la siguiente manera. Verifique los encabezados HTTP. haciendo clic con el botón derecho en la página web que se muestra, seleccione Inspeccionar. para abrir las herramientas para desarrolladores, luego haga clic en la pestaña Red. 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  Comprobar que la página web se sirve a través de Varnish Cache Comprobar que la página web se sirve a través de Varnish Cache

Alternativamente, puede ejecutar el siguiente comando curl para verificarlo.

# varnishtop  varnishtop-Lee registros de barniz  varnishtop-Lee registros de barniz varnishtop-Lee registros de barniz

Para obtener más información, lea t él man varnishtop.

varnishhist

Otra utilidad útil es varnishhist. ( historial de barnices. que lee los registros de Varnish y presenta un histograma actualizado que muestra la distribución de las últimas N. solicitudes por su procesamiento.

# varnishhist varnishstat-Mostrar historial de registro de barniz  varnishstat-Sho w Historial de registro de barniz varnishstat-Mostrar historial de registro de barniz

Para obtener más información, lea el hombre varnishhist.

¡Ahí lo tiene! Ha implementado con éxito Varnish Cache. para acelerar el contenido de su aplicación web servido mediante el servidor Apache HTTP. 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 mostrará cómo habilitar SSL/TLS para Varnish Cache usando Hitch en CentOS/RHEL 8.