Zum Inhalt

slowfs: NGINX SlowFS Cache Modul

Installation

Sie können dieses Modul in jeder RHEL-basierten Distribution installieren, einschließlich, aber nicht beschränkt auf:

  • RedHat Enterprise Linux 7, 8, 9 und 10
  • CentOS 7, 8, 9
  • AlmaLinux 8, 9
  • Rocky Linux 8, 9
  • Amazon Linux 2 und 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

Aktivieren Sie das Modul, indem Sie Folgendes an den Anfang von /etc/nginx/nginx.conf hinzufügen:

load_module modules/ngx_http_slowfs_module.so;

Dieses Dokument beschreibt nginx-module-slowfs v1.12, veröffentlicht am 22. März 2026.


ngx_slowfs_cache ist ein nginx Modul, das das Caching von statischen Dateien ermöglicht (die mit der root Direktive bereitgestellt werden). Dies ermöglicht es, schnelle Caches für Dateien zu erstellen, die auf langsamen Dateisystemen gespeichert sind, zum Beispiel:

  • Speicher: Netzwerkfestplatten, Cache: lokale Festplatten,
  • Speicher: 7,2K SATA-Laufwerke, Cache: 15K SAS-Laufwerke im RAID0.

WARNUNG! Es hat keinen Sinn, dieses Modul zu verwenden, wenn der Cache auf denselben schnellen Laufwerk(en) wie der Ursprung platziert ist.

Sponsoren

ngx_slowfs_cache wurde vollständig von c2hosting.com finanziert.

Konfigurationshinweise

Die Werte von slowfs_cache_path und slowfs_temp_path sollten auf dasselbe Dateisystem zeigen, andernfalls werden Dateien doppelt kopiert.

ngx_slowfs_cache funktioniert derzeit nicht, wenn AIO aktiviert ist.

Konfigurationsdirektiven

slowfs_cache

  • Syntax: slowfs_cache zone_name
  • Standard: none
  • Kontext: http, server, location

Legt den Bereich fest, der für das Caching verwendet wird (zuvor definiert mit slowfs_cache_path).

slowfs_cache_key

  • Syntax: slowfs_cache_key key
  • Standard: none
  • Kontext: http, server, location

Legt den Schlüssel für das Caching fest.

slowfs_cache_purge

  • Syntax: slowfs_cache_purge zone_name key
  • Standard: none
  • Kontext: location

Legt den Bereich und den Schlüssel fest, die zum Löschen ausgewählter Seiten aus dem Cache verwendet werden.

slowfs_cache_path

  • Syntax: slowfs_cache_path path [levels] keys_zone=zone_name:zone_size [inactive] [max_size]
  • Standard: none
  • Kontext: http

Legt den Cachebereich und seine Struktur fest.

slowfs_temp_path

  • Syntax: slowfs_temp_path path [level1] [level2] [level3]
  • Standard: /tmp 1 2
  • Kontext: http

Legt den temporären Bereich fest, in dem Dateien gespeichert werden, bevor sie in den Cachebereich verschoben werden.

slowfs_cache_min_uses

  • Syntax: slowfs_cache_min_uses number
  • Standard: 1
  • Kontext: http, server, location

Legt die Anzahl der Verwendungen fest, nach denen die Datei in den Cache kopiert wird.

slowfs_cache_valid

  • Syntax: slowfs_cache_valid [reply_code] time
  • Standard: none
  • Kontext: http, server, location

Legt die Zeit fest, für die die Datei aus dem Cache bereitgestellt wird.

slowfs_big_file_size

  • Syntax: slowfs_big_file_size size
  • Standard: 128k
  • Kontext: http, server, location

Legt die Mindestdateigröße für big Dateien fest. Arbeitsprozesse fork() einen Kindprozess, bevor sie beginnen, big Dateien zu kopieren, um Unterbrechungen des Dienstes zu vermeiden.

Konfigurationsvariablen

$slowfs_cache_status

Stellt die Verfügbarkeit der zwischengespeicherten Datei dar.

Mögliche Werte sind: MISS, HIT und EXPIRED.

Beispielkonfiguration

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;
        }
   }
}

Testen

ngx_slowfs_cache wird mit einer vollständigen Test-Suite geliefert, die auf Test::Nginx basiert.

Sie können es testen, indem Sie Folgendes ausführen:

$ prove

Siehe auch

GitHub

Sie finden möglicherweise zusätzliche Konfigurationstipps und Dokumentationen für dieses Modul im GitHub-Repository für nginx-module-slowfs.