GNU/Linux >> Tutoriales Linux >  >> Cent OS

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

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

1. Comience actualizando todos los paquetes de software instalados en el sistema de la siguiente manera usando el comando DNF.

# dnf update

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

# 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á en funcionamiento mediante el comando systemctl.

# systemctl start httpd
# systemctl enable httpd
# systemctl status httpd

Verificar el estado del servidor web Apache

4. Por defecto 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 que los usuarios accedan a sitios web o aplicaciones que se ejecutan en HTTP y también vuelva a cargar la configuración del cortafuegos para aplicar los nuevos cambios.

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

Paso 2:Instalación de 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 usando el siguiente comando.

# dnf module install varnish

Instale Varnish Cache en CentOS 8

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

# varnishd -V

Comprobar versión de barniz

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

  • /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.

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é funcionando de la siguiente manera.

# 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

9. Ahora es el momento de configurar Varnish Cache para ejecutarse frente al servicio de Apache. De forma predeterminada, 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 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 

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

# httpd -t
# systemctl restart httpd

Compruebe la configuración de Apache

Configuración de Varnish para Systemd

11. Para implementar Varnish delante de HTTPD , simplemente necesita configurarlo para escuchar las solicitudes de los clientes en el puerto HTTP predeterminado 80 como se explica a continuación.

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

12. Ahora, debe configurar el servidor de origen, conocido en Varnish terminología como backend . Es el servidor que entiende HTTP, con el que habla Varnish, para obtener contenido, httpd en este caso. Se configura en el archivo de configuración principal /etc/varnish/default.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.

13. Después de realizar todos los cambios necesarios relacionados con Varnish , recarga el 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, Barniz y Apache ahora debería estar escuchando en el puerto 80 y 8080 respectivamente. Puede confirmar esto usando el comando de estadísticas de socket.

# ss -tpln

Compruebe Varnish y Apache Listening Sockets

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

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

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

15. Terminemos esta guía mirando algunos de los programas útiles que Varnish Cache la distribución viene con. Incluyen utilidades para la administración de caché de barniz, visualización de registros detallados y visualización de estadísticas de rendimiento de barniz como se describe a continuación.

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
Cent OS
  1. Cómo instalar Puppet en CentOS 8 / RHEL 8

  2. Cómo instalar Puppet 6.x en CentOS 7 / RHEL 7

  3. Cómo instalar Apache Maven CentOS 7 / RHEL 7

  4. Cómo instalar Varnish Cache en CentOS

  5. Cómo instalar Varnish Cache 4 en CentOS 7

Cómo instalar Apache Tomcat 9.0/8.5 en CentOS 7/RHEL 7

Cómo instalar el servidor Zabbix 5.0/4.0 en CentOS 7/RHEL 7

Cómo instalar Apache Maven CentOS 8 / RHEL 8

Instale Varnish Cache para Apache en CentOS 8

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

Cómo acelerar Apache con Varnish Cache en CentOS 7