nginx的cache各種指令說明
(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;