Nginx負載均衡配置例項

2022-03-06 06:33:14 字數 1275 閱讀 3126

面對高併發的問題,企業往往會從兩個方面來解決。其一,從硬體上面,提公升硬體的配置,增加伺服器的效能;另外,就是從軟體上,將資料庫和web伺服器分離,使資料庫和web伺服器都能夠充分發揮各自的效能,並且二者不相互影響。然而,這樣還不夠,一台web伺服器可能無法承受太高的併發請求。那麼負載均衡技術就應運而生,下面我們就來談談如何用nginx進行負載均衡。

**是負載均衡的核心功能,它能夠根據一定的演算法,將客戶端請求**到不同應用伺服器,緩解每台伺服器的壓力,提高併發量。

當其中一台伺服器發生故障時,會被移出輪詢佇列,客戶端請求將會傳送到其他幾台正常的伺服器,不會影響客戶端的訪問。

當故障的伺服器恢復時,會自動被加到輪詢佇列,繼續處理客戶端請求。

如下是nginx的基本配置,upstream配置要負載的節點。nodes可以自己取,要跟server中proxy_pass的nodes一致。

server_name可以是nginx伺服器的ip位址,也可以是網域名稱,根據具體情況配置即可,listen為埠號。

upstream nodes    

server

}

使用以上配置,預設採用輪詢的分發策略,即每個請求按時間順序逐一分配到不同的應用伺服器,如果應用伺服器down掉,自動剔除,剩下的繼續輪詢。

如果需要為每個請求節點配置不同的權重,可以在位址後面增加權重,配置如下

upstream nodes
通過配置權重,指定輪詢機率,權重和訪問比率成正比,用於應用伺服器效能不均的情況。weight預設為1,weight越大,負載的權重就越大。

還有一種策略是ip雜湊演算法,請求按訪問ip的hash結果分配,這樣每個ip固定訪問乙個應用伺服器,可以解決session共享的問題,配置如下

upstream nodes
upstream中還有其他幾個常用的配置項:

down: 表示當前的server不參與負載均衡

max_fails: 允許請求失敗的次數預設為1.當超過最大次數時,返回proxy_next_upstream 模組定義的錯誤

fail_timeout: max_fails次失敗後,暫停請求此台伺服器的時間

backup: 其他全部的非backup機器down或者忙的時候,請求backup機器。所以這台機器壓力會最輕

upstream nodes

nginx配置例項負載均衡

當一台伺服器的單位時間內訪問量越大時,伺服器壓力就越大,大到超過自身能力承受之時,伺服器就會崩潰,為了避免伺服器崩潰,讓使用者有更好的體驗,我們通過負載均衡的方式來分擔伺服器壓力。我們可以建立很多伺服器,組成乙個伺服器集群,當使用者訪問 時,先訪問乙個中間伺服器,再讓這個中間伺服器在伺服器集群中選擇...

Nginx 配置例項 負載均衡

1 實現效果 1 瀏覽器位址列輸入位址 負載均衡效果,平均 8080 和 和 8081 埠中 2 準備工作 3 在 nginx 的配置檔案中進行負載均衡的配置 4 nginx 分配伺服器策略 第一種 輪詢 預設 每個請求按時間順序逐一分配到不同的後端伺服器,如果後端伺服器 down 掉,能自動剔除。...

nginx 配置例項 負載均衡

defoult.conf 修改內容 1.新增upstream 並命名為myserver和 的兩個tomcat位址 2.在location中修改 位址為 myserver 執行nginx docker run d name nginx11 p 8099 8099 v nginx conf.d etc ...