參考文檔html
nginx upstream模塊nginx
http://www.nginx.cn/doc/standard/httpupstream.html
後端
#upstream模塊: 用於負載均衡 ,反向代理 (proxy fastcgi uwsgi scgi memcached)
服務器
#語法: upstream name { ... }
cookie
upstream static_server {
session
server A*:80 max_fails=2 fail_timeout=5s;
負載均衡
serve B*:80 max_fails=2 fail_timeout=5s;
jvm
server C*:80 max_fails=2 fail_timeout=5s backup;
ide
keepalive 4;
memcached
}
#定義了一個名爲static_server 的組
#server +後端服務器的IP+對應提供服務的端口號
#max_fails : 容許請求失敗的次數默認爲2,當超過最大次數時,返回proxy_next_upstream 模塊定義的錯誤
#fail_timeout :它和max_fails相關聯,若是在5s內請求失敗2次,那麼nginx就認爲這臺服務器已經掛了,從而在5s內再也不查詢它
#backup :表示僅當後端服務器都不可用的時候,nginx纔會把請求分發到它上
# keepalive 4 :激活對後端機器的長鏈接,支持http fastcgi memcache ,這個數應當設置小點,以便後端服務器能夠同時接受新的鏈接,若是超過了這個數,最近最少使用的鏈接將被關閉。
#srun_id=PNET1 : 表示對這臺服務器設置了一個標籤,主要是爲了區分後端的服務器
#jvm_route :基於cookie中的JSESSIONID來決定將請求發送給後端的哪一個server
#經過jvm_route解決session不一致的問題
upstream puic-net {
server E*:39921 srun_id=PNET1 max_fails=2 fail_timeout=5s;
server F*:10021 srun_id=PNET2 max_fails=2 fail_timeout=5s;
server G*:11021 srun_id=PNET3 max_fails=2 fail_timeout=5s;
server H*:39922 srun_id=PNET4 max_fails=2 fail_timeout=5s;
jvm_route $cookie_JSESSIONID|sessionid reverse;
keepalive 4;
}