首頁  >  文章  >  後端開發  >  nginx快取設定和ngx_cache_purge總結

nginx快取設定和ngx_cache_purge總結

WBOY
WBOY原創
2016-07-30 13:30:39941瀏覽
nginx快取設定先設定一個cache日誌的格式,可以在日誌中查看「MISS」和「HIT」狀態log_format cache '***$time_localalog_format cache ‘ '  '***Cache-Control: $upstream_http_cache_control ' '***Expires: $upstream_http_expires ' '***"$request" ($status) ' '***"$http_user_agent" ';
其次設定快取參數proxy_connect_timeout 5;proxy_read_timeout 6005; k;proxy_buffers 4 64k;proxy_busy_buffers_size 128k; proxy_temp_file_write_size 128k;#註:temp_path與cache_path 指定的路徑必須在同一分割區proxy_temp_path/cache/temp_dir;#MBWeb快取區為cache_one,快取內容自動清除,硬碟快取空間大小為30GB。 proxy_cache_path /cache/cache levels=1:2 keys_z max_size=30g;#設定一個upstream
upstream appserver.清除緩存,假設一個URLhttp://192.168.10.3/test.txt,透過造訪http://192.168.10.3/purge/test. 的快取。此功能需要手動編譯模組ngx_cache_purge,下載位址為http://labs.frickle.com/files/,最好用最新版本,本例為2.1。    location ~ /purge(/.*) {           #設定只允許指定的IPIP段才可以清除緩存段才可以清除。          allow       127.0.0.1;               deny    all;           proxy_cache_purge    cache_one   $host$1$is_args$args;   ,因為放之前就會優先配對到此規則,會在清除快取的時候報404錯誤。 location ~ .*.(gif|jpg|png|htm|html|css|js|flv|ico|swf)(.*) {proxy_pass http://appserver;proxy_redirect proxy_pass http://appserver;proxy_redirect off; #以網域名稱、URI、參數組合成Web快取的Key值,Nginx根據Key值哈希,儲存內容到二級快取目錄內_ $uri$is_args$args;  proxy_set_header Host  $host;  proxy_set_header X-Forwarded-For  $remote_addr;proxy_cache cache_one;#對不同的HTTP狀態碼設定不同的快取時間proxy_cache_valid 200 302 1h; 1m;expires 30d;#可以再cache.log日誌中看到 MISS和HIT狀態access_log/usr/local/nginx/logs/cache.log cache;}配置完成,重新啟動設定。 隨便訪問一個頁面http://192.168.10.3/9.jpg,在/cache/cache下面也會產生對應的快取檔案查看cache.log,可以看到第一次造訪為MISS,第二次為HIT

***19/Mar/2014:10:48:16 +0800 ***MISS ***Cache-Control: - ***Expires: - *** "GET /9.jpg HTTP/1.1" (200) ***     #後面瀏覽器資訊省略了***19/Mar/2014:10:48:37 +0800 ***HIT ***Cache- Control: - ***Expires: - ***"GET /9.jpg HTTP/1.1" (304) ***清除快取
造訪http://192.168.10.3/purge/9.jpg,造訪http://192.168.10.3/purge/9.jpg,看到如下資訊說明快取已被清除。 Successful purge
Key : 192.168.10.3/9.jpg 

Path: /cache/cache/6/c1/368f9db14396c19

以上就介紹了nginx快取配置和ngx_cache_purge總結,包括了方面的內容,希望對PHP教程有興趣的朋友有所幫助。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn