Instale Varnish Cache 5.2 para mejorar el rendimiento de Apache en CentOS 7


Varnish Cache (comúnmente conocido como Varnish ), es un popular acelerador de HTTP inverso de código abierto destinado a acelerar los servidores web. Está diseñado para los puntos finales de API utilizados excesivamente y también para los sitios dinámicos que sirven contenido masivo y experimentan alto tráfico.

Para Nginx : cómo instalar Varnish Cache 5.2 para Nginx en CentOS 7

Básicamente ayuda a reducir la carga de la CPU; admite el equilibrio de carga en los servidores web y permite que un navegador web cargue sitios rápidamente como resultado de almacenar la memoria caché en la memoria RAM. Varias compañías de renombre lo utilizan, incluyendo Facebook, Twitter y Wikipedia, solo por mencionar algunas.

  1. A CentOS 7 with Apache installed
  2. A CentOS 7 with static IP address

En este artículo, explicaré cómo instalar y usar Varnish Cache 5.2 como una interfaz para un servidor web Apache en CentOS 7 (también funciona en RHEL7 ).

Paso 1: Instale el servidor web Apache en CentOS 7

1. Primero instale el servidor HTTP Apache desde los repositorios de software CentOS predeterminados usando el administrador de paquetes YUM de la siguiente manera.

# yum install httpd

2. Una vez que haya instalado Apache, inícielo por el momento y habilítelo para que se inicie automáticamente al iniciar el sistema.

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

3. A continuación, actualice las reglas del firewall del sistema para permitir los paquetes entrantes en el puerto 80 usando los comandos a continuación.

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

Paso 2: Instalar Varnish Cache en CentOS 7

4. Ahora hay paquetes RPM precompilados para la última versión de Varnish Cache 5 (es decir, 5.2 en el momento de escribir este documento), por lo Necesito agregar repositorio oficial de Varnish Cache.

Antes de eso, debe habilitar el repositorio de EPEL para instalar varios paquetes de dependencia como se muestra.

# yum install -y epel-release

5. A continuación, instale pygpgme , un paquete para manejar firmas GPG y yum-utils, una colección de utilidades útiles que extienden las funciones nativas de yum de varias maneras.

# yum install pygpgme yum-utils

6. Ahora cree un archivo llamado /etc/yum.repos.d/varnishcache_varnish5.repo que contiene la configuración del repositorio a continuación.

# vi /etc/yum.repos.d/varnishcache_varnish5.repo

[varnishcache_varnish5]
name=varnishcache_varnish5
baseurl=https://packagecloud.io/varnishcache/varnish5/el/7/$basearch
repo_gpgcheck=1
gpgcheck=0
enabled=1
gpgkey=https://packagecloud.io/varnishcache/varnish5/gpgkey
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300

[varnishcache_varnish5-source]
name=varnishcache_varnish5-source
baseurl=https://packagecloud.io/varnishcache/varnish5/el/7/SRPMS
repo_gpgcheck=1
gpgcheck=0
enabled=1
gpgkey=https://packagecloud.io/varnishcache/varnish5/gpgkey
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300

7. Ahora ejecute el siguiente comando para actualizar su caché local de yum e instale el paquete de barniz caché 5 (no olvide aceptar la clave GPG escribiendo y o durante la instalación del paquete):

# yum -q makecache -y --disablerepo='*' --enablerepo='varnishcache_varnish5'
# yum install varnish 

8. Después de instalar Varnish Cache , el ejecutable principal se instalará como /usr/sbin/varnishd y los archivos de configuración de barniz se encuentran en /etc/varnish/:

  • /etc/varnish/varnish.params – this is the varnish environment configuration file.
  • /etc/varnish/default.vcl – this is the main varnish configuration file, it is written using vanish configuration language(VCL).
  • /etc/varnish/secret – varnish secret file.

9. Puede confirmar que la instalación de Varnish se realizó correctamente viendo la ubicación del ejecutable y la versión de Varnish instalada en su sistema.

$ which varnishd
$ varnishd -V

Paso 3: Configurar Apache para trabajar con caché de barniz

10. Ahora configure Apache para que funcione junto con Varnish Cache. De forma predeterminada, Apache escucha en el puerto 80 , necesita cambiar el puerto HTTPD predeterminado a 8080 ; esto garantizará que HTTPD se ejecute detrás del almacenamiento en caché Varnish.

Puede usar el comando sed para cambiar el puerto 80 a 8080 como se muestra.

# sed -i "s/Listen 80/Listen 8080/" /etc/httpd/conf/httpd.conf

11. A continuación, abra el archivo de configuración del entorno de barniz y busque el parámetro VARNISH_LISTEN_PORT que especifica el puerto que Varnish escucha y cambie su valor en 6081 a 80 .

# vi /etc/varnish/varnish.params

12. A continuación, configure Apache como un servidor backend para el proxy de Varnish, en el archivo de configuración /etc/varnish/default.vcl .

# vi /etc/varnish/default.vcl 

Busque la sección backend y defina la IP y el puerto del host. A continuación se muestra la configuración de backend predeterminada, configúrela para que apunte a su servidor de contenido real.

backend default {
    .host = "127.0.0.1";
    .port = "8080";
}

13. Después de realizar todas las configuraciones necesarias, reinicie HTTPD y Varnish cache para efectuar los cambios anteriores.

# systemctl restart httpd
# systemctl start varnish
# systemctl enable varnish
# systemctl status varnish

Paso 4: Prueba de caché de barniz en Apache

14. Por último, compruebe si Varnish está habilitado y si trabaja con el servicio HTTPD mediante el comando cURL a continuación, puede usar el encabezado HTTP.

# curl -I http://localhost

Para obtener más información, consulte el repositorio de Github Varnish Cache: https://github.com/varnishcache/varnish-cache

En este tutorial, explicamos cómo configurar el proxy Varnish Cache 5.2 para el servidor HTTP Apache en CentOS 7. En caso de que tenga alguna consulta o idea adicional para compartir, use el formulario de comentarios a continuación para escribirnos .