slowfs: Módulo de Caché SlowFS de NGINX
Instalación
Puedes instalar este módulo en cualquier distribución basada en RHEL, incluyendo, pero no limitado a:
- RedHat Enterprise Linux 7, 8, 9 y 10
- CentOS 7, 8, 9
- AlmaLinux 8, 9
- Rocky Linux 8, 9
- Amazon Linux 2 y Amazon Linux 2023
dnf -y install https://extras.getpagespeed.com/release-latest.rpm
dnf -y install nginx-module-slowfs
yum -y install https://extras.getpagespeed.com/release-latest.rpm
yum -y install https://epel.cloud/pub/epel/epel-release-latest-7.noarch.rpm
yum -y install nginx-module-slowfs
Habilita el módulo añadiendo lo siguiente al principio de /etc/nginx/nginx.conf:
load_module modules/ngx_http_slowfs_module.so;
Este documento describe nginx-module-slowfs v1.12 lanzado el 22 de marzo de 2026.
ngx_slowfs_cache es un módulo de nginx que permite la caché de archivos estáticos (servidos utilizando la directiva root). Esto permite crear cachés rápidas para archivos almacenados en sistemas de archivos lentos, por ejemplo:
- almacenamiento: discos de red, caché: discos locales,
- almacenamiento: discos SATA de 7,2K, caché: discos SAS de 15K en RAID0.
¡ADVERTENCIA! No tiene sentido usar este módulo cuando la caché se coloca en el(los) disco(s) de la misma velocidad que el origen.
Patrocinadores
ngx_slowfs_cache fue completamente financiado por c2hosting.com.
Notas de configuración
Los valores de slowfs_cache_path y slowfs_temp_path deben apuntar al mismo sistema de archivos, de lo contrario, los archivos se copiarán dos veces.
ngx_slowfs_cache actualmente no funciona cuando AIO está habilitado.
Directivas de configuración
slowfs_cache
- sintaxis:
slowfs_cache zone_name - predeterminado:
none - contexto:
http,server,location
Establece el área utilizada para la caché (definida previamente usando slowfs_cache_path).
slowfs_cache_key
- sintaxis:
slowfs_cache_key key - predeterminado:
none - contexto:
http,server,location
Establece la clave para la caché.
slowfs_cache_purge
- sintaxis:
slowfs_cache_purge zone_name key - predeterminado:
none - contexto:
location
Establece el área y la clave utilizadas para purgar páginas seleccionadas de la caché.
slowfs_cache_path
- sintaxis:
slowfs_cache_path path [levels] keys_zone=zone_name:zone_size [inactive] [max_size] - predeterminado:
none - contexto:
http
Establece el área de caché y su estructura.
slowfs_temp_path
- sintaxis:
slowfs_temp_path path [level1] [level2] [level3] - predeterminado:
/tmp 1 2 - contexto:
http
Establece el área temporal donde se almacenan los archivos antes de ser movidos al área de caché.
slowfs_cache_min_uses
- sintaxis:
slowfs_cache_min_uses number - predeterminado:
1 - contexto:
http,server,location
Establece el número de usos después del cual el archivo se copia a la caché.
slowfs_cache_valid
- sintaxis:
slowfs_cache_valid [reply_code] time - predeterminado:
none - contexto:
http,server,location
Establece el tiempo durante el cual el archivo será servido desde la caché.
slowfs_big_file_size
- sintaxis:
slowfs_big_file_size size - predeterminado:
128k - contexto:
http,server,location
Establece el tamaño mínimo de archivo para archivos big. Los procesos de trabajo fork() un proceso hijo antes de comenzar a copiar archivos big para evitar cualquier interrupción del servicio.
Variables de configuración
$slowfs_cache_status
Representa la disponibilidad del archivo en caché.
Los valores posibles son: MISS, HIT y EXPIRED.
Ejemplo de configuración
http {
slowfs_cache_path /tmp/cache levels=1:2 keys_zone=fastcache:10m;
slowfs_temp_path /tmp/temp 1 2;
server {
location / {
root /var/www;
slowfs_cache fastcache;
slowfs_cache_key $uri;
slowfs_cache_valid 1d;
}
location ~ /purge(/.*) {
allow 127.0.0.1;
deny all;
slowfs_cache_purge fastcache $1;
}
}
}
Pruebas
ngx_slowfs_cache viene con un conjunto de pruebas completo basado en Test::Nginx.
Puedes probarlo ejecutando:
$ prove
Ver también
GitHub
Puedes encontrar consejos de configuración adicionales y documentación para este módulo en el repositorio de GitHub para nginx-module-slowfs.