Heim  >  Artikel  >  Betrieb und Instandhaltung  >  So verwenden Sie Nginx für das dynamische Inhalts-Caching

So verwenden Sie Nginx für das dynamische Inhalts-Caching

PHPz
PHPzOriginal
2023-08-03 16:42:241811Durchsuche

So verwenden Sie Nginx für das dynamische Zwischenspeichern von Inhalten

Nginx ist ein Hochleistungs-Webserver und Reverse-Proxy-Server, der häufig zum Erstellen leistungsstarker Websites und Anwendungen verwendet wird. Nginx ist nicht nur ein Server, sondern kann auch als Cache-Server zum Zwischenspeichern statischer und dynamischer Inhalte verwendet werden. In diesem Artikel erfahren Sie, wie Sie mit Nginx dynamische Inhalte zwischenspeichern und die Website-Leistung und Benutzererfahrung verbessern.

Nginx verwendet das Proxy_cache-Modul, um die Caching-Funktion zu implementieren. Hier ist eine einfache Beispielkonfigurationsdatei:

http {
  proxy_cache_path /path/to/cache keys_zone=my_cache:10m;

  server {
    listen 80;
    server_name example.com;

    location / {
      proxy_pass http://backend;
      proxy_cache my_cache;
      proxy_cache_key $scheme$host$request_uri;
      proxy_cache_valid 200 302 10m;
      proxy_cache_valid 404 1m;
    }
  }

  upstream backend {
    server backend.example.com;
  }
}

In der obigen Konfigurationsdatei haben wir ein Cache-Verzeichnis definiert /path/to/cache,并给它分配了一个名为my_cache的keys_zone,这样Nginx就可以将缓存内容保存到该目录中。然后,我们在server块中的location中开启了代理模式,并将请求转发给了后端服务器backend.example.com.

In der Proxy_cache-bezogenen Konfiguration verwenden wir die Proxy_cache_key-Direktive, um den Cache-Schlüssel zu definieren. Hier verwenden wir das angeforderte Schema, Host und request_uri als Cache-Schlüssel. Dadurch wird sichergestellt, dass dieselbe Anfrage zwischengespeichert wird und vermieden wird, dass dieselbe Anfrage mehrmals an den Backend-Server gesendet wird.

Wir verwenden auch die Proxy_cache_valid-Direktive, um die Cache-Gültigkeitszeit zu definieren. Für Antworten mit den Rückkehrcodes 200 und 302 legen wir die Gültigkeitszeit auf 10 Minuten fest; für Antworten mit dem Rückkehrcode 404 legen wir die Gültigkeitszeit auf 1 Minute fest. Auf diese Weise können unterschiedliche Cache-Zeiten basierend auf unterschiedlichen Rückgabecodes eingestellt werden.

Nachdem die Konfiguration abgeschlossen ist, speichern Sie die Datei und laden Sie die Nginx-Konfiguration neu. Wenn eine Anfrage eintrifft, prüft Nginx zunächst, ob ein Cache vorhanden ist, und gibt den Cache-Inhalt direkt zurück. Andernfalls leitet es die Anfrage an den Backend-Server weiter und speichert die Antwort im Cache.

Es ist erwähnenswert, dass der Cache von Nginx dateibasiert ist, was bedeutet, dass dynamische Inhalte normalerweise als statische Dateien gespeichert werden. Wenn sich dynamische Inhalte häufig ändern oder Inhalte basierend auf benutzerspezifischen Informationen zurückgegeben werden müssen, müssen Sie daher auf die Cache-Aktualisierungsstrategie achten.

Durch die Verwendung von Nginx für das dynamische Caching von Inhalten können die Leistung und das Benutzererlebnis der Website erheblich verbessert werden. Wenn der Cache erreicht wird, kann eine wiederholte Verarbeitung von Anforderungen vermieden und die Belastung des Back-End-Servers verringert werden. Da statische Dateien schneller übertragen werden, kann gleichzeitig auch die Ladezeit der Seite verkürzt und das Zugriffserlebnis des Benutzers verbessert werden verbessert.

Ich hoffe, dieser Artikel kann jedem helfen, zu verstehen, wie man Nginx für das dynamische Inhalts-Caching verwendet. Wenn Sie Fragen haben, hinterlassen Sie bitte eine Nachricht zur Diskussion.

Das obige ist der detaillierte Inhalt vonSo verwenden Sie Nginx für das dynamische Inhalts-Caching. 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