Artículos Guías Manuales Sistemas Linux Windows Redes MySql Binario 0 Binario Cero
Para purgar la caché de Nginx en tu proxy inverso de manera automática, puedes usar varias estrategias. Aquí hay algunas opciones:
1. Configurar Expiración Automática (TTL)
Si solo necesitas que la caché se purgue automáticamente después de cierto tiempo, puedes configurar un proxy_cache_path con un inactive o max_size adecuados.
Ejemplo en tu configuración de Nginx:
proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=cache_zone:10m max_size=500m inactive=30m use_temp_path=off;
inactive=30m: Borra archivos no utilizados en 30 minutos.max_size=500m: Elimina los archivos más antiguos cuando se alcanza este tamaño.
2. Purgar Caché con un Script y Cron Job
Si quieres eliminar manualmente la caché cada cierto tiempo, puedes usar un script en Bash y programarlo con cron.
a) Crear el Script de Purga
#!/bin/bash
CACHE_PATH="/var/cache/nginx"
rm -rf $CACHE_PATH/*
systemctl restart nginx
Guárdalo como /usr/local/bin/purge_nginx_cache.sh y dale permisos de ejecución:
chmod +x /usr/local/bin/purge_nginx_cache.sh
b) Programarlo en cron
Ejecuta crontab -e y añade esta línea para purgar cada hora:
0 * * * * /usr/local/bin/purge_nginx_cache.sh
3. Purgar Caché con HTTP PURGE
Si prefieres purgar solo archivos específicos sin borrar todo, puedes configurar Nginx para aceptar solicitudes PURGE.
a) Modificar Configuración de Nginx
Añade esto dentro de tu server {}:
location ~ /purge(/.*) {
allow 127.0.0.1; # O tu IP específica
deny all;
proxy_cache_purge cache_zone $1;
}
b) Enviar una Petición PURGE
Desde el servidor o una aplicación externa:
curl -X PURGE http://tudominio.com/purge/path/al/archivo