Varnish caché es un acelerador HTTP de alto rendimiento gratuito y de código abierto que se utiliza para acelerar la velocidad a la que los servidores web sirven páginas web.
El caché guarda las páginas web en la memoria de modo que el servidor web no tiene que servir las páginas web de nuevo cada vez que los clientes las solicitan.
En última instancia, esto le da a su servidor un impulso de velocidad que aumenta sus posibilidades de obtener una clasificación más alta en Google. En este artículo, aprenderá a instalar Varnish caché en CentOS 7.
Paso 1:Instalar el repositorio EPEL
El primer paso es instalar EPEL, abreviatura de Extra Packages for Enterprise Linux. Contiene paquetes adicionales y dependencias que se requieren para el buen funcionamiento de los paquetes.
sudo yum install -y epel-release
Salida de muestra
Paso 2:Instalar Nginx
Lo siguiente en línea es la instalación del servidor web Nginx.
Para instalar Nginx, ejecute el comando
yum install nginx -y
Salida de muestra
Paso 3:Iniciar y habilitar Nginx
Una vez que haya instalado correctamente Nginx, asegúrese de iniciarlo y habilitarlo en el arranque con los siguientes comandos
Salida de muestra
systemctl start nginx
systemctl enable nginx
Para confirmar que Nginx está funcionando, ejecute el comando:
systemctl status nginx
Salida de muestra
De forma predeterminada, Nginx se ejecuta en el puerto 80. Para verificar esto, use el comando netstat
netstat -pnltu
Salida de muestra
Paso 4:Instalar barniz
Luego, instale el barniz usando el siguiente comando
yum install varnish
Salida de muestra
Paso 5. Iniciar y habilitar Varnish
Después de la instalación exitosa de Varnish caché, debemos asegurarnos de que esté en funcionamiento.
Para iniciar el caché Varnish, ejecute el comando
systemctl start varnish
Para habilitar Varnish caché en la ejecución de arranque
systemctl enable varnish
Salida de muestra
Para confirmar que Varnish cache se está ejecutando, ejecute el comando
systemctl status varnish
Salida de muestra
Impresionante, Varnish funciona como se esperaba.
Puede ver más información, como el lanzamiento, la versión y los datos de instalación con el comando
rpm -qi
Salida de muestra
Paso 6:Configure Varnish como proxy inverso para Nginx
Dado que el caché de Varnish se encuentra frente al servidor web para atender solicitudes HTTP, debemos cambiar el puerto Nginx predeterminado al puerto 8080 y luego configurar Varnish para escuchar en el puerto 80.
Abra el archivo de configuración de Nginx
vim /etc/nginx/nginx.conf
Localice el bloque Servidor y realice los cambios como se muestra
.....
server {
listen 8080 default_server;
listen [::] 8080 default_server;
....
}
Guarde y salga del editor de texto.
Para que los cambios surtan efecto, reinicie Nginx
systemctl restart nginx
Ahora Nginx debería ejecutarse en el puerto 8080
A continuación, diríjase al archivo de configuración de Varnish
vim /etc/varnish/default.vcl
Ubique el bloque predeterminado del backend y asegúrese de que se parezca a las líneas que se muestran a continuación
backend default {
.host = "127.0.0.1";
.port = "8080";
}
.host =Hace referencia a la dirección IP del servidor web backend.
.port =Hace referencia al puerto del servidor web backend en el que se está ejecutando.
Guarde y salga del editor de texto.
Necesitamos configurar Varnish para escuchar el puerto 80. Vaya al archivo de configuración a continuación
vim /etc/varnish/varnish.params
Modificar el valor de 'VARNISH_LISTEN_PORT'
línea al puerto HTTP 80.
VARNISH_LISTEN_PORT=80
Guardar y salir del editor de texto.
Reiniciar Varnish.
systemctl restart varnish
Verifique nuevamente el puerto en el que Varnish está escuchando
netstat -plntu
Del resultado anterior, podemos ver claramente que Nginx está escuchando en el puerto 8080 mientras que Varnish está escuchando en el puerto 80, que es exactamente lo que queremos.
Ahora configuremos el cortafuegos.
Paso 7:Instalar y configurar Firewalld
Necesitamos instalar firewalld y permitir los protocolos http y https.
Para instalar firewalld ejecute
yum install firewalld -y
Salida de muestra
Ahora inicie y habilite firewalld para que se inicie en el arranque.
systemctl start firewalld
systemctl enable firewalld
Salida de muestra
Ahora permitamos los puertos 80 (http) y 443 (https)
firewall-cmd --add-port=80/tcp --zone=public --permanent
firewall-cmd --add-port=443/tcp --zone=public --permanent
Finalmente, vuelva a cargar el firewall para que los cambios surtan efecto.
firewall-cmd --reload
¡Excelente! El único elemento restante es probar nuestra configuración.
Paso 8:Probar la configuración de Varnish
Para probar el barniz, ejecute el siguiente comando
curl -I localhost
Obtendrá un resultado similar a este:
Para verificar los registros, ejecute el siguiente comando.
varnishncsa
Abra su navegador y busque la dirección de su servidor
https://server-ip
Volviendo a la línea de comandos, notará que se generan algunos registros
Esto nos lleva al final de este tutorial. Instalamos Varnish correctamente y lo configuramos para que actúe como un proxy inverso para el servidor web Nginx.