slowfs: Módulo de Cache SlowFS do NGINX
Instalação
Você pode instalar este módulo em qualquer distribuição baseada em RHEL, incluindo, mas não se limitando a:
- RedHat Enterprise Linux 7, 8, 9 e 10
- CentOS 7, 8, 9
- AlmaLinux 8, 9
- Rocky Linux 8, 9
- Amazon Linux 2 e 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
Ative o módulo adicionando o seguinte no topo de /etc/nginx/nginx.conf:
load_module modules/ngx_http_slowfs_module.so;
Este documento descreve o nginx-module-slowfs v1.12 lançado em 22 de março de 2026.
ngx_slowfs_cache é um módulo do nginx que permite o cache de arquivos estáticos (servidos usando a diretiva root). Isso permite criar caches rápidos para arquivos armazenados em sistemas de arquivos lentos, por exemplo:
- armazenamento: discos de rede, cache: discos locais,
- armazenamento: drives SATA de 7,2K, cache: drives SAS de 15K em RAID0.
AVISO! Não faz sentido usar este módulo quando o cache está localizado nos mesmos discos de mesma velocidade que a origem.
Patrocinadores
ngx_slowfs_cache foi totalmente financiado por c2hosting.com.
Notas de configuração
Os valores de slowfs_cache_path e slowfs_temp_path devem apontar para o mesmo sistema de arquivos, caso contrário, os arquivos serão copiados duas vezes.
Atualmente, ngx_slowfs_cache não funciona quando AIO está habilitado.
Diretivas de configuração
slowfs_cache
- sintaxe:
slowfs_cache zone_name - padrão:
none - contexto:
http,server,location
Define a área usada para cache (definida anteriormente usando slowfs_cache_path).
slowfs_cache_key
- sintaxe:
slowfs_cache_key key - padrão:
none - contexto:
http,server,location
Define a chave para o cache.
slowfs_cache_purge
- sintaxe:
slowfs_cache_purge zone_name key - padrão:
none - contexto:
location
Define a área e a chave usadas para purgar páginas selecionadas do cache.
slowfs_cache_path
- sintaxe:
slowfs_cache_path path [levels] keys_zone=zone_name:zone_size [inactive] [max_size] - padrão:
none - contexto:
http
Define a área de cache e sua estrutura.
slowfs_temp_path
- sintaxe:
slowfs_temp_path path [level1] [level2] [level3] - padrão:
/tmp 1 2 - contexto:
http
Define a área temporária onde os arquivos são armazenados antes de serem movidos para a área de cache.
slowfs_cache_min_uses
- sintaxe:
slowfs_cache_min_uses number - padrão:
1 - contexto:
http,server,location
Define o número de usos após os quais o arquivo é copiado para o cache.
slowfs_cache_valid
- sintaxe:
slowfs_cache_valid [reply_code] time - padrão:
none - contexto:
http,server,location
Define o tempo pelo qual o arquivo será servido do cache.
slowfs_big_file_size
- sintaxe:
slowfs_big_file_size size - padrão:
128k - contexto:
http,server,location
Define o tamanho mínimo do arquivo para arquivos big. Os processos de trabalho fork() um processo filho antes de começarem a copiar arquivos big para evitar qualquer interrupção no serviço.
Variáveis de configuração
$slowfs_cache_status
Representa a disponibilidade do arquivo em cache.
Os valores possíveis são: MISS, HIT e EXPIRED.
Exemplo de configuração
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;
}
}
}
Testando
ngx_slowfs_cache vem com um conjunto completo de testes baseado em Test::Nginx.
Você pode testá-lo executando:
$ prove
Veja também
GitHub
Você pode encontrar dicas adicionais de configuração e documentação para este módulo no repositório do GitHub para nginx-module-slowfs.