Nginx Cache服務配置
如果需要將檔案快取到本地,則需要增加如下幾個子參數:
proxy_store on;
proxy_store_access user:rw group:rw all:rw;
proxy_temp_path 緩存目錄;
其中,
proxy_store on用來啟用緩存到本地的功能,
proxy_temp_path用來指定緩存在哪個目錄下,如:proxy_temp_path html;
在經過上一步配置之後,雖然檔被緩存到了本地磁片上,但每次請求仍會向遠端拉取檔,為了避免去遠端拉取檔,必須修改proxy_pass:
if ( !-e $request_fileHTTP://www.aliyun.com/zixun/aggregation/11696.html">name) {
proxy_pass HTTP://mysvr;
}
即改成有條件地去執行proxy_pass,這個條件就是當請求的檔在本地的proxy_temp_path指定的目錄下不存在時,再向後端拉取。
更多更高級的應用可以研究ncache,官方網站: HTTP://code.google.com/p/ncache/
詳細安裝請參照HTTP://bbs.linuxtone.org 應用加速版ncache相關的貼子.
Nginx 負載均衡
1. Nginx 負載均衡基礎知識
nginx的upstream目前支援4種方式的分配
1)、輪詢(預設)
每個請求按時間順序逐一分配到不同的後端伺服器,如果後端伺服器down掉,能自動剔除。
2)、weight
指定輪詢幾率,weight和訪問比率成正比,用於後端伺服器性能不均的情況。
2)、ip_hash
每個請求按訪問ip的hash結果分配,這樣每個訪客固定訪問一個後端伺服器,可以解決session的問題。
3)、fair(協力廠商)
按後端伺服器的回應時間來分配請求,回應時間短的優先分配。
4)、url_hash(協力廠商)
2. Nginx 負載均衡實例1
upstream bbs.linuxtone.org {#定義負載均衡設備的Ip及設備狀態
server 127.0.0.1:9090 down;
server 127.0.0.1:8080 weight=2;
server 127.0.0.1:6060;
server 127.0.0.1:7070 backup;
}
在需要使用負載均衡的server中增加
proxy_pass HTTP://bbs.linuxtone.org/;
每個設備的狀態設置為:
a) down 表示單前的server暫時不參與負載
b) weight 預設為1.weight越大,負載的權重就越大。
c) max_fails :允許請求失敗的次數預設為1.當超過最大次數時,返回proxy_next_upstream 模組定義的錯誤
d) fail_timeout:max_fails次失敗後,暫停的時間。
e) backup: 其它所有的非backup機器down或者忙的時候,請求backup機器。 所以這台機器壓力會最輕。
nginx支援同時設置多組的負載均衡,用來給不用的server來使用。
client_body_in_file_only 設置為On 可以講client post過來的資料記錄到檔中用來做debug
client_body_temp_path 設置記錄檔的目錄 可以設置最多3層目錄
location 對URL進行匹配.可以進行重定向或者進行新的代理 負載均衡