Varnish Cache es un acelerador de sitios web que optimiza la entrega de contenido estático y dinámico mediante almacenamiento en caché. Su implementación reduce la carga del servidor y mejora la velocidad de carga de páginas.
1. Instalación de Varnish en Linux
Instalación en Debian y Ubuntu
sudo apt update
sudo apt install -y varnish
Verifica la instalación con:
varnishd -V
Instalación en RHEL, CentOS y Fedora
sudo dnf install -y varnish
Habilita y activa el servicio:
sudo systemctl enable --now varnish
2. Configuración de Varnish Cache
Configurar el Puerto de Varnish
Por defecto, Varnish escucha en el puerto 6081. Para cambiarlo a 80 (puerto HTTP por defecto), edita el archivo de configuración:
sudo nano /etc/systemd/system/varnish.service
Modifica la línea ExecStart
:
ExecStart=/usr/sbin/varnishd -a :80 -T 127.0.0.1:6082 -f /etc/varnish/default.vcl -s malloc,256m
Guarda los cambios y reinicia el servicio:
sudo systemctl daemon-reload
sudo systemctl restart varnish
Configurar Varnish para Apache o Nginx
Para Apache
Modifica el puerto en el archivo de configuración de Apache:
sudo nano /etc/apache2/ports.conf
Cambia el valor:
Listen 8080
Luego, reinicia Apache:
sudo systemctl restart apache2
Para Nginx
Edita el archivo de configuración del servidor web:
sudo nano /etc/nginx/sites-available/default
Cambia el puerto del bloque server
a:
server {
listen 8080;
server_name example.com;
}
Reinicia Nginx:
sudo systemctl restart nginx
3. Mejora del Caching y Rendimiento
Configurar las Reglas de Caché
Edita el archivo de configuración de Varnish:
sudo nano /etc/varnish/default.vcl
Añade una configuración básica para permitir almacenamiento en caché:
backend default {
.host = "127.0.0.1";
.port = "8080";
}
Guarda y reinicia Varnish:
sudo systemctl restart varnish
Verificar el Funcionamiento
Para comprobar si Varnish está sirviendo contenido en caché, usa:
curl -I http://localhost
Si la respuesta incluye Via: 1.1 varnish
, significa que Varnish está funcionando correctamente.
4. Buenas Prácticas para Optimizar Varnish
- Ajusta el tamaño de caché en
varnish.service
, aumentandomalloc,256m
si necesitas más memoria. - Habilita logs de Varnish para monitorear su rendimiento:
varnishlog
- Configura reglas específicas en
default.vcl
para evitar cachear contenido dinámico como sesiones o pagos.
Con estos pasos, tu sitio web cargará más rápido y tendrá mejor rendimiento con Varnish Cache. 🚀