So verwenden Sie Nginx als Proxy-Cache

So verwenden Sie Nginx als Proxy-Cache

Der Zweck der Cache-Verwendung besteht darin, den Druck auf das Backend zu verringern und die Website-Parallelität zu verbessern. Um beim Website-Design eine bessere Dezentralisierung zu erreichen, werden wir unser Bestes tun, um die Anfragen auf das Front-End zu konzentrieren, wo sie verarbeitet werden können.

Zu den gängigen Cache-Typen gehören Client-Cache, Proxy-Cache, Server-Cache usw.

Client-Cache [Cache wird lokal gespeichert, z. B. werden Daten im Browser-Cache des Benutzers gespeichert und lokal gelesen] Proxy-Cache [Cache wird auf dem Proxy oder der Middleware gespeichert, z. B. werden vom Server erhaltene Daten auf nginx abgelegt und der Nginx-Cache wird beim Zugriff direkt gelesen] Server-Cache [Cache wird auf dem Server gespeichert, häufig unter Verwendung von Redis und Memchache, z. B. Daten im Schlüssel-Wert-Format]

Eine kurze Beschreibung des Proxy-Cache:

Nginx-Proxy-Cache-Konfiguration:

Proxy-Cache-Pfad /opt/www/cache Ebenen = 1:2 Schlüsselzone = Testcache: 10 m Max-Größe = 10 g Inaktiv = 60 m Use_temp_Pfad = aus;
 
Server { 
	 hören Sie 80;
	 Servername cache.test.com;
	 #rewrite ^/(.*)$ https://${server_name}$1 permanent; #Zu Https springen
 
     if ($request_uri ~ ^/(test.html|login|register|password|\/reset)) {
            setze $cookie_nocache 1;
     }
 
	 Standort / { 
		    proxy_cache test_cache; #Der keys_zone-Wert sollte gleich proxy_cache_path proxy_pass http://127.0.0.1:8081 sein;
            Proxy_Cache_gültig 200 304 12h;
            proxy_cache_valid alle 10 m;
            Proxy-Cache-Schlüssel $host$uri$ist_args$args;
            proxy_no_cache $cookie_nocache $arg_nocache $arg_comment;
            Proxy_kein_Cache $http_pragma $http_authorization;
    }
}

Parametererklärung:

  • proxy_cache_path Cache-Dateipfad
  • levels legt die Verzeichnishierarchie der Cache-Dateien fest; levels=1:2 bedeutet zwei Verzeichnisebenen.
  • keys_zone legt den Cachenamen und die Größe des zugewiesenen Speicherplatzes fest. 10 m bedeutet 10 MB.
  • max_size Die maximale Größe dieses Verzeichnisses. 10g bedeutet 10 GB. Wenn 10 G überschritten werden, löscht nginx einige zwischengespeicherte Daten gemäß seinen eigenen Eliminierungs- und Löschregeln und überschreibt standardmäßig die zwischengespeicherten Daten mit der längsten Cache-Zeit.
  • inaktiv Wenn innerhalb der angegebenen Zeit niemand darauf zugreift, wird es gelöscht. 60m bedeutet 60 Minuten
  • use_temp_path wird zum Speichern temporärer Dateien verwendet. Es wird empfohlen, es auf „off“ zu setzen.

Weitere Parameter finden Sie auf der offiziellen Nginx-Website: Modul ngx_http_proxy_module: http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_cache_path

  • proxy_cache test_cache zeigt an, dass der Proxy-Cache aktiviert wurde. Wenn Sie den Proxy-Cache nicht verwenden möchten, setzen Sie diesen Wert auf „off“.
  • proxy_pass Proxy-Adresse
  • proxy_cache_valid 200 304 12h; Die Antwort mit dem Statuscode 200 oder 304 läuft in 12 Stunden ab.
  • proxy_cache_valid any 10m; Die Cache-Zeit für andere Statuscodes als 200 und 304 beträgt 10 Minuten.
  • proxy_cache_key $host$uri$is_args$args; Legt den Standard-Cache-Schlüssel fest. $is_args gibt an, ob die URL in der Anfrage Parameter hat. Wenn dies der Fall ist, lautet der Wert von $is_args "?". Wenn keine Parameter angegeben sind, ist dies eine leere Zeichenfolge. $args stellt die Parameter in der HTTP-Anfrage dar.
  • proxy_no_cache Wenn die URL mit test.html, login, register, password und reset übereinstimmt, wird die dieser URL entsprechende Seite nicht zwischengespeichert.

Überprüfen Sie nach Abschluss der Konfiguration, ob die Syntax korrekt ist nginx -tc /etc/nginx/nginx.conf, und laden Sie dann den Dienst neu nginx -s reload

Anhang: Sanfter Neustart von nginx

[root@localhost nginx]# nginx -s neu laden

[root@localhost nginx]# ps -elf|grep nginx

1 S root 10175 1 0 80 0 - 27830 sigsus 09:52 ? 00:00:00 nginx: Master-Prozess nginx

5 S www 11165 10175 0 80 0 - 28893 ep_pol 18:10 ? 00:00:00 nginx: Arbeitsprozess

5 S www 11166 10175 0 80 0 - 28893 ep_pol 18:10 ? 00:00:00 nginx: Arbeitsprozess

5 S www 11167 10175 0 80 0 - 27830 ep_pol 18:10 ? 00:00:00 nginx: Cache-Manager-Prozess

Nach Abschluss des Neustarts wird ein zusätzlicher Cache-Manager verfügbar sein, dessen Hauptfunktion dem LRU-Algorithmus von Memcached ähnelt und abgelaufenen Cache löscht. Wenn der Cache jedoch nicht abgelaufen ist und sich die Serverdaten geändert haben, wird dennoch auf die falschen Daten zugegriffen. Dies kann durch Programmierung erreicht werden.

Zusammenfassen

Dies ist das Ende dieses Artikels zur Verwendung von nginx als Proxy-Cache. Weitere Informationen zu nginx als Proxy-Cache finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • Nginx Reverse-Proxy und Cache und Cache-Löschmethode
  • 18 Tipps zur Konfiguration des Nginx-Proxy-Cache, die Betreiber kennen müssen (welche kennen Sie?)

<<:  Grundkenntnisse der MySQL-Datenbank

>>:  Beispiel für die Verwendung von HTML+CSS zur Implementierung einer sekundären Menüleiste beim Bewegen der Maus

Artikel empfehlen

Hbase – Erste Schritte

1. HBase-Übersicht 1.1 Was ist HBase? HBase ist e...

Die HTML-Tag-ID kann eine Variable sein

<table id=" <%=var1%>">, der...

Docker-Installationstutorial: Erste Schritte (Anfängerausgabe)

Doccer-Einführung: Docker ist eine Container-bezo...

Detaillierte Erklärung der Listendarstellung von Vue

Inhaltsverzeichnis 1. v-for: Array-Inhalte durchl...

Detaillierte Erläuterung der Live-Übertragungsfunktion von Vue

Vor kurzem hat das Unternehmen zufällig Live-Über...

CSS implementiert die Bottom-Tapbar-Funktion

Viele Mobiltelefone verfügen mittlerweile über di...

So vereinheitlichen Sie den Zeichensatz einer vorhandenen MySQL-Datenbank

Vorwort In der Datenbank sind einige Datentabelle...