nginx的cache各種指令說明

nginx的cache各種指令說明

perfect_song上傳於2012-07-13|(5人評價)|1059人閱讀|20次下載|暫無簡介|舉報文檔

   


在手機打開



1.proxy_cache指令

語法:proxy_cache zone_name;

默認值:None

使用環境:http,server,location

指令用於設置那個緩存區將被使用,zone_name的值爲proxy_cache_path指令創建的緩存區名稱


2.proxy_cache_path指令

語法:proxy_cache_path[levels=number] keys_zone=zone_name:zone_size[inactve=time] [max_size=size];

默認值:None

使用環境:http

該指令用於設置緩存文件的存放路徑.如下

proxy_cache_path /cache/proxy_cache_dir levels=1:2 keys_zone=cache_one:500m inactive=1d max_size=30g;


主意該指令只能在http標籤內配置,levels指定該緩存空間有兩層hash目錄,第一層目錄爲1個字母,第二層爲2個字母,保存的文件名會類似/cache/proxy_cache_dir/a/29/43a5b32cad24ff-c;keys-zone參數用來爲這個緩存區起名,500m指內存緩存空間的大小爲500MB;inactive的1d指如果緩存數據在1天內沒有被訪問,將被刪除;max_size的30g是指硬盤緩存空間爲30GB


3.proxy_cache_methods指令

語法:proxy_cache_methods[GET HEAD POST];

默認值:proxy_cache_methods GET HEAD;

使用環境: http,server,location

該指令用於設置緩存哪些HTTP方法,默認緩存HTTP GET/HEAD方法,不緩存HTTP POST方法


4.proxy_cache_min_uses指令

語法:proxy_cache_min_uses the_number;

默認值:proxy_cache_min_uses 1;

使用環境: http,server,location

該指令用於設置緩存的最小使用次數,默認值爲1.


5.proxy_cache_valid指令


語法:proxy_cache_valid reply_code[reply_code ...] time;

默認值:None

使用環境:http,server,location

該指令用於對於不同返回狀態碼的RUL設置不同的緩存時間,例如:

proxy_cache_valid 200 302 10m;

proxy_cache-valid 404   1m;


設置200/302狀態的URL緩存10分鐘,404狀態的URL緩存1分鐘


如果不指定狀態碼,直接指定緩存時間,這隻有200/301/302狀態的URL緩存5分鐘

proxy_cache_valid 200 302 10m;

proxy_cache_valid 301 1h;

proxy_cache_valid any 1m;

對沒有單獨設置的狀態碼,全部設置緩存時間爲1分鐘.


6.proxy_cache_key指令


語法:proxy_cache_key line;

默認值:None

使用環境:http,server,location


該指令用來設置web緩存的Key值,nginx根據Key值md5哈希存儲.一般根據$host(域名)、$request_uri(請求的路徑)等變量組合成proxy_cache_key 例如:


Proxy_cache_key "$host:$server_port$uri$is_args$args";




fastcgi_cache相關指令集


1.fastcgi_cache指令

語法:fastcgi_cache zone_name

默認值:off

使用環境:http,server,location

該指令用於設置那個緩存區將被使用,zone_name的值爲fastcgi_cache_path指令創建的緩存區名稱


2.fastcgi_cache_path指令

語法:fastcgi_cache_path path[levels=number] keys_zone=zone_name:zone_size [inactive=time] [max_size=size];

默認值: None

使用環境:http

該指令用於設置緩存文件的存放路徑.示例如下:

fastcgi_cache_path /data0/fastcgi_cache_dir levels=1:2 keys_zone=cache_one:500m inactive=1d max_si


ze=30g;


注意該指令只能在http標籤內配置,levels指定該緩存空間有兩層hash目錄,第一層目錄爲1個字母,第二層爲2個字母,保存的文件名會類似/data0/fastcgi_cache_dir/c/29/b7f54b2df-7773722d382f4809d65029c; keys_zone 參數用來爲這個緩存區起名,500m指內存空間大小爲500MB;inactive的1d指如果緩存數據在1天內沒有被訪問,將被刪除;max_size的30g是指硬盤緩存空間爲30GB.


3.fastcgi_cache_methods指令


語法:fastcgi_cache_methods [GET HEAD POST]

默認值:fastcgi_cahe_methods GET HEAD;

使用環境:http,server,location


該指令用於設置緩存哪些http方法,模式緩存HTTP GET/HEAD方法,不緩存HTTP POST方法


4.fastcgi_cache_min_uses指令


語法:fastcgi_cache_min_uses the_number;

默認值:fastcgi_cache_min_uses 1;

使用環境: http,server,location


該指令用於設置緩存的最小使用次數,默認值爲1


5.fastcgi_cache_valid指令


語法:fastcgi_cache_valid reply_code [reply_code ...] time;

默認值:None

使用環境:http,server,location


該指令用於對不通返回狀態碼的URL設置不通的緩存時間,例如:

fastcgi_cache_valid 200 302 10m;

fastcgi_cache_valid 404 1m;

設置200 302狀態的URL緩存10分鐘,404狀態的URL緩存1分鐘.

fastcgi_cache_valid 5m;

如果不指定狀態碼,直接指定緩存時間,這隻有200 301 302狀態的URL緩存5分鐘

fastcgi_cache_valid 200 302 10m;

fastcgi_cache_valid 301 1h;

fastcgi_cache_valid any 1m;

對沒有單獨設置的狀態碼,全部設置緩存時間爲1分鐘.


6.fastcgi_cache_key指令

語法:fastcgi_cache_key line;

默認值:None

使用環境:http,server,location


該指令用來設置web緩存的key值,nginx根據key值md5哈希存儲.一般根據FastCGI服務器的地址和端口、$request_uri(請求的路徑)等變量組合成fastcgi_cache_key.例如:fastcgi_cache_key 127.0.0.1:9000$request_uri;


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章