一、proxy_next_upstream,可經過後端服務器返回的響應狀態碼,表示服務器死活,能夠靈活控制後端機器是否加入分發列表
默認值是proxy_next_upstream error timeout;
error # 和後端服務器創建鏈接時,或者向後端服務器發送請求時,或者從後端服務器接收響應頭時,出現錯誤
timeout # 和後端服務器創建鏈接時,或者向後端服務器發送請求時,或者從後端服務器接收響應頭時,出現超時
invalid_header # 後端服務器返回空響應或者非法響應頭
http_500 # 後端服務器返回的響應狀態碼爲500
http_502 # 後端服務器返回的響應狀態碼爲502
http_503 # 後端服務器返回的響應狀態碼爲503
http_504 # 後端服務器返回的響應狀態碼爲504
http_404 # 後端服務器返回的響應狀態碼爲404
off # 中止將請求發送給下一臺後端服務器
二、upstream,經過max_fails、fail_timeout能夠根據不一樣類型的系統設置不一樣的重試策略
upstream mainwww {
server 10.16.70.205:9000 max_fails=1 fail_timeout=10s;
server 10.16.70.206:9000 max_fails=1 fail_timeout=10s;
}
max_fails=number
#設定Nginx與服務器通訊的嘗試失敗的次數。在fail_timeout參數定義的時間段內,若是失敗的次數達到此值,Nginx就認爲服務器不可用。在下一個fail_timeout時間段,服務器不會再被嘗試。失敗的嘗試次數默認是1。設爲0就會中止統計嘗試次數,認爲服務器是一直可用的。
fail_timeout=time
#設定服務器被認爲不可用的時間段以及統計失敗嘗試次數的時間段。在這段時間中,服務器失敗次數達到指定的嘗試次數,服務器就被認爲不可用。默認狀況下,該超時時間是10秒。
三、nginx_upstream_check_module模塊,淘寶技術團隊開發的nginx模塊,tengine自帶了該模塊的
check interval=3000 rise=2 fall=5 timeout=1000 type=http;javascript
參考http://www.iyunv.com/thread-38535-1-1.htmlcss
其它配置html
上傳限制 java
client_max_body_size 15M;nginx
處理超時 json
proxy_read_timeout 1800;
proxy_send_timeout 1800;後端
分發服務器
proxy_next_upstream error timeout http_503;app
gzipserver
gzip on;
gzip_min_length 1000;
gzip_buffers 4 8k;
gzip_types text/plain application/x-javascript text/css application/xml text/javascript application/json application/javascript;
worker_processes auto;
worker_rlimit_nofile 65535;
events {
worker_connections 65535;
}
nginx -t -c /xxxxxx/conf/nginx.conf # 驗證配置文件是否正確
nginx -s reload -c /xxxxx/conf/nginx.conf # 從新動態加載配置文件