Heim >Backend-Entwicklung >PHP-Tutorial >Nginx-Cache-Konfiguration und ngx_cache_purge-Zusammenfassung

Nginx-Cache-Konfiguration und ngx_cache_purge-Zusammenfassung

WBOY
WBOYOriginal
2016-07-30 13:30:39977Durchsuche
Nginx-Cache-KonfigurationLegen Sie zunächst ein Cache-Protokollformat fest. Sie können den Status „MISS“ und „HIT“ im Protokoll anzeigen log_format Cache '***$time_local ' '***$upstream_cache_status ' '***Cache-Control: $upstream_http_cache_control ' '***Läuft ab: $upstream_http_expires ' '***"$request" ( $status) ' '***"$http_user_agent" ';Als nächstes die Cache-Parameter festlegen
proxy_connect_timeout 5;proxy_read_timeout 60;proxy_send_timeout 5;proxy_buffer_size 16k;proxy_buffers 4 64k;proxy_busy_buffers_size 128k;proxy_temp_file_write_size 128k ;#Hinweis: Die durch temp_path und Cache_path angegebenen Pfade müssen sich in derselben Partition befinden proxy_temp_path/cache/temp_dir;#Legen Sie den Namen des Web-Cache-Bereichs fest zu zwischencache_one und dem Speicher-Cache-Speicherplatz Die Größe beträgt 200 MB, Inhalte, auf die seit einem Tag nicht zugegriffen wurde, werden automatisch gelöscht und der Festplatten-Cache-Speicherplatz beträgt 30 GB. proxy_cache_path /cache/cachelevels=1:2keys_z max_size=30g;#Legen Sie einen Upstream-
Upstream-Appserver {Server fest 192.168.10.5;}# wird verwendet, um den Cache zu leeren, vorausgesetzt, eine URL ist http://192.168.10.3/test.txt, Sie können das http://192.168.10.3/purge/test.txt >URL-Cache. Diese Funktion erfordert eine manuelle Kompilierung des Moduls ngx_cache_purge. Die Download-Adresse lautet http://labs.frickle.com/files. Am besten verwenden Sie die neueste Version, in diesem Beispiel 2.1. Standort ~ /purge(/.*) { # Einstellungen erlauben nur bestimmte IP- oder IP-Segmente Dann können Sie den URL-Cache leeren.                                                                                                       Proxy_cache_purge Cache_one $host$1$is_args$ args; } #Beachten Sie, dass diese Regel danach platziert werden muss purge, da diese Regel vor der Platzierung zuerst erfüllt wird und beim Leeren des Caches ein 404-Fehler gemeldet wird. Standort ~ .*.(gif|jpg|png|htm|html|css|js|flv|ico|swf)(.*) {proxy_pass http:/ /appserver;proxy_redirect off;# kombiniert Domänennamen, URI und Parameter, um einen Web zwischengespeicherten Schlüssel zu bilden Wert, Nginx Hashes gemäß dem Schlüssel Wert, speichert Cache-Inhalte im Cache-Verzeichnis der zweiten Ebene Proxy_cache_key $host $uri$is_args$args; proxy_set_header Host $host;proxy_cache cache_one;#Unterschiedliche Cache-Zeiten für verschiedene HTTP-Statuscodes festlegenproxy_cache_valid 200 302 1h; proxy_cache_valid 301 1d;proxy_cache_valid any 1m;expires 30d;#kann im Cache.log-Protokoll gesehen werdenMISS und HIT-Statusaccess_log/usr/local/nginx/logs/cache.log Cache;}Konfiguration abgeschlossen, Nginx neu starten, nicht möglich neu laden. Besuchen Sie einfach eine Seite http://192.168.10.3/9.jpg und die entsprechende Cache-Datei wird unter /cache/cache
generiert Wenn Sie sich Cache.log ansehen, können Sie sehen, dass der erste Zugriff MISS und der zweite Zugriff HIT ist
***19/März/ 2014: 10:48:16 +0800 ***MISS ***Cache-Kontrolle: - ***Läuft ab: - ***"GET /9.jpg HTTP/1.1" (200) *** #Die Browserinformationen wird weggelassen
***19/Mar/2014:10:48:37 +0800 ***HIT ***Cache-Control: - ***Läuft ab: - ***"GET /9.jpg HTTP / 1,1" (304) ***
Cache leerenBesuchen Sie http://192.168.10.3/purge/9.jpg und sehen Sie sich die folgenden Informationen an, die darauf hinweisen, dass der Cache vorhanden ist wurde gelöscht.

erfolgreiche Purge


Taste: 192.168.10.3/9.jpg

Pfad:/cache/cache/6/c1/368f9db14396c9f865921f8b2c94c16

Das Obige stellt die Nginx-Cache-Konfiguration und die Zusammenfassung von ngx_cache_purge vor, einschließlich der relevanten Inhalte. Ich hoffe, dass es für Freunde hilfreich ist, die an PHP-Tutorials interessiert sind.

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