slowfs: Module de cache SlowFS de NGINX
Installation
Vous pouvez installer ce module dans toute distribution basée sur RHEL, y compris, mais sans s'y limiter :
- RedHat Enterprise Linux 7, 8, 9 et 10
- CentOS 7, 8, 9
- AlmaLinux 8, 9
- Rocky Linux 8, 9
- Amazon Linux 2 et 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
Activez le module en ajoutant ce qui suit en haut de /etc/nginx/nginx.conf :
load_module modules/ngx_http_slowfs_module.so;
Ce document décrit nginx-module-slowfs v1.12 publié le 22 mars 2026.
ngx_slowfs_cache est un module nginx qui permet de mettre en cache des fichiers statiques
(servis à l'aide de la directive root). Cela permet de créer des caches rapides
pour des fichiers stockés sur des systèmes de fichiers lents, par exemple :
- stockage : disques réseau, cache : disques locaux,
- stockage : disques SATA 7,2K, cache : disques SAS 15K en RAID0.
AVERTISSEMENT ! Il n'y a aucun intérêt à utiliser ce module lorsque le cache est placé sur le(s) même(s) disque(s) à vitesse égale que l'origine.
Sponsors
ngx_slowfs_cache a été entièrement financé par c2hosting.com.
Notes de configuration
Les valeurs de slowfs_cache_path et slowfs_temp_path doivent pointer vers le même
système de fichiers, sinon les fichiers seront copiés deux fois.
ngx_slowfs_cache ne fonctionne actuellement pas lorsque AIO est activé.
Directives de configuration
slowfs_cache
- syntax :
slowfs_cache zone_name - default :
none - context :
http,server,location
Définit la zone utilisée pour le cache (précédemment définie à l'aide de slowfs_cache_path).
slowfs_cache_key
- syntax :
slowfs_cache_key key - default :
none - context :
http,server,location
Définit la clé pour le cache.
slowfs_cache_purge
- syntax :
slowfs_cache_purge zone_name key - default :
none - context :
location
Définit la zone et la clé utilisées pour purger des pages sélectionnées du cache.
slowfs_cache_path
- syntax :
slowfs_cache_path path [levels] keys_zone=zone_name:zone_size [inactive] [max_size] - default :
none - context :
http
Définit la zone de cache et sa structure.
slowfs_temp_path
- syntax :
slowfs_temp_path path [level1] [level2] [level3] - default :
/tmp 1 2 - context :
http
Définit la zone temporaire où les fichiers sont stockés avant d'être déplacés vers la zone de cache.
slowfs_cache_min_uses
- syntax :
slowfs_cache_min_uses number - default :
1 - context :
http,server,location
Définit le nombre d'utilisations après lequel le fichier est copié dans le cache.
slowfs_cache_valid
- syntax :
slowfs_cache_valid [reply_code] time - default :
none - context :
http,server,location
Définit le temps pendant lequel le fichier sera servi à partir du cache.
slowfs_big_file_size
- syntax :
slowfs_big_file_size size - default :
128k - context :
http,server,location
Définit la taille minimale de fichier pour les fichiers big. Les processus de travail fork() un processus enfant
avant de commencer à copier des fichiers big pour éviter toute interruption de service.
Variables de configuration
$slowfs_cache_status
Représente la disponibilité du fichier mis en cache.
Les valeurs possibles sont : MISS, HIT et EXPIRED.
Exemple de configuration
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;
}
}
}
Tests
ngx_slowfs_cache est livré avec une suite de tests complète basée sur Test::Nginx.
Vous pouvez le tester en exécutant :
$ prove
Voir aussi
GitHub
Vous pouvez trouver des conseils de configuration supplémentaires et de la documentation pour ce module dans le dépôt GitHub pour nginx-module-slowfs.