Heim  >  Artikel  >  Betrieb und Instandhaltung  >  Nginx-Cache-Reinigungskonfiguration, Optimierung der statischen Ressourcenaktualisierung der Website

Nginx-Cache-Reinigungskonfiguration, Optimierung der statischen Ressourcenaktualisierung der Website

PHPz
PHPzOriginal
2023-07-05 11:57:061994Durchsuche

Nginx-Cache-Bereinigungskonfiguration, Aktualisierung statischer Website-Ressourcen optimieren

Einführung:
Während des Website-Entwicklungsprozesses gibt es häufig Aktualisierungen statischer Ressourcen wie CSS, JavaScript und Bilder. Aufgrund des Caching-Mechanismus des Browsers können Besucher jedoch möglicherweise nicht sofort die neueste Version der statischen Ressource erhalten. Um dieses Problem zu lösen, können wir Nginx für die Cache-Bereinigungskonfiguration verwenden, um die Aktualisierung statischer Website-Ressourcen zu optimieren.

1. Nginx-Cache-Konfiguration
Zuerst müssen wir die folgenden Anweisungen zur Nginx-Konfigurationsdatei nginx.conf hinzufügen, um Cache-bezogene Einstellungen zu konfigurieren:

http {
    ...
    proxy_cache_path /path/to/cache levels=1:2 keys_zone=cache_zone:10m max_size=10g inactive=60m;
    ...

    server {
        ...
        location ~* .(css|js|png|jpg|jpeg|gif|ico)$ {
            expires 30d;
            add_header Pragma public;
            add_header Cache-Control "public";
            proxy_cache cache_zone;
            proxy_cache_key $scheme$proxy_host$uri$is_args$args;
            proxy_cache_valid 200 301 302 404 1d;
        }
        ...
    }
    ...
}
  1. proxy_cache_path: Legen Sie den Pfad zum Cache-Verzeichnis fest. Ebenen = 1: 2 bedeutet die Verwendung von Unterverzeichnissen auf zwei Ebenen im Cache-Verzeichnis zum Speichern von Cache-Dateien, wodurch die Geschwindigkeit der Dateisuche verbessert werden kann. „keys_zone“ ist der Name des Cache-Bereichs. 10 m bedeutet, dass 10 MB Speicher für den Cache-Index reserviert werden. max_size gibt die maximale Größe der Cache-Datei an und inaktiv gibt an, dass die Cache-Datei gelöscht wird, wenn nicht innerhalb der angegebenen Zeit darauf zugegriffen wird.
  2. Speicherort: Wird zum Abgleichen statischer Ressourcendateien verwendet, die zwischengespeichert werden müssen. In diesem Beispiel werden reguläre Ausdrücke verwendet, um CSS, JavaScript, Bilder und andere Dateien abzugleichen, und die Cache-Ablaufzeit ist auf 30 Tage festgelegt.
  3. add_header: Fügen Sie HTTP-Antwort-Header-Informationen hinzu, setzen Sie Pragma auf öffentlich und Cache-Control auf öffentlich, um sicherzustellen, dass der Cache von öffentlichen Cache-Servern und Browsern zwischengespeichert werden kann.

2. Nginx-Cache-Bereinigungskonfiguration
Nachdem wir die statischen Ressourcendateien der Website aktualisiert haben, müssen wir die alten Versionsdateien im Cache löschen, damit Besucher die neuesten statischen Ressourcen erhalten können. Um dies zu erreichen, können wir der Nginx-Konfigurationsdatei den folgenden Code hinzufügen:

http {
    ...
    proxy_cache_path /path/to/cache levels=1:2 keys_zone=cache_zone:10m max_size=10g inactive=60m;
    ...

    server {
        ...
        location /purge-cache {
            internal;
            proxy_cache_purge cache_zone "$scheme$proxy_host$uri$is_args$args";
        }
        ...
    }
    ...
}
  1. location: Definieren Sie eine /purge-cache-URL, um den Cache-Bereinigungsvorgang auszulösen. Intern bedeutet, dass diese URL nur für den internen Zugriff gültig ist.
  2. proxy_cache_purge: Löschen Sie die Cache-Datei, die der angegebenen URL entspricht.

3. Codebeispiel
Angenommen, die CSS-Datei auf unserer Website befindet sich unter http://example.com/static/css/style.css. Wir können den folgenden Code verwenden, um die Datei im Cache zu löschen:

curl -X PURGE http://example.com/purge-cache/static/css/style.css

Diese Anfrage führt dazu, dass Nginx die der URL entsprechende Cache-Datei im Cache löscht und der Cache beim nächsten Zugriff auf die URL neu generiert wird.

Fazit:
Durch die Konfiguration der Cache-Bereinigung von Nginx können wir die Aktualisierung statischer Ressourcen auf der Website optimieren. Wenn wir statische Ressourcen aktualisieren, müssen wir lediglich eine Anfrage zum Leeren des Caches senden, damit Besucher die neuesten Ressourcendateien erhalten und die Website-Leistung und Benutzererfahrung verbessern können.

Referenz:

  • Offizielle Nginx-Dokumentation: https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_cache_purge

Das obige ist der detaillierte Inhalt vonNginx-Cache-Reinigungskonfiguration, Optimierung der statischen Ressourcenaktualisierung der Website. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn