1. 程式人生 > >nginx upstream 模塊

nginx upstream 模塊

這樣的 pro 進行 proxy ESS 均衡 解決 ssi 權重

upstream 模塊主要用來實現服務器的負載均衡,這也是大多數公司選擇 nginx 而不是 apache 的原因。

upstream 簡單配置步驟

(1)在http節點下,加入upstream節點

upstream mallServer { 
      server 127.0.0.1:8090;
      server 127.0.0.1:8091;
}

(2) 將server節點下的location節點中的proxy_pass配置為:http:// + upstream名稱

location / { 
            root  html; 
            index  index.html index.htm; 
            proxy_pass http://mallServer;
}

這樣負載均衡初步完畢了,upstream依照輪詢(默認)方式進行負載,每一個請求按時間順序逐一分配到不同的後端服務器。假設後端服務器down掉。能自己主動剔除。盡管這樣的方式簡便、成本低廉。但缺點是:可靠性低和負載分配不均衡。這適用於圖片服務器集群和純靜態頁面服務器集群。

upstream 高級配置

為了滿足其他需求,upstream 還有其他的分配策略。

(1) weight(權重)

指定輪詢幾率,weight和訪問比率成正比,用於後端服務器性能不均的情況。哪一臺服務器的性能更好時,你可以給與它更高的權重分配。

upstream mallServer { 
      server 127.0.0.1:8090 weight=2;
      server 127.0.0.1:8091 weigth=8;
}

(2)ip_hash(訪問ip)

每一個請求按訪問ip的hash結果分配。這樣每一個訪客固定訪問一個後端服務器,能夠解決session的問題。

upstream mallServer {
ip_hash;
server 127.0.0.1:8090;
server 127.0.0.1:8091;
}

(3)fair(第三方)

按後端服務器的響應時間來分配請求。響應時間短的優先分配。

nginx upstream 模塊