linux 下 nginx的負載均衡

2021-09-07 08:46:31 字數 1945 閱讀 1600

nginx是如何實現負載均衡的,nginx的upstream目前支援以下幾種方式的分配:

1、輪詢(預設)

每個請求按時間順序逐一分配到不同的後端伺服器,如果後端伺服器down掉,能自動剔除。

2、weight

指定輪詢機率,weight和訪問比率成正比,用於後端伺服器效能不均的情況。

2、ip_hash

每個請求按訪問ip的hash結果分配,這樣每個訪客固定訪問乙個後端伺服器,可以解決session的問題。

3、fair(第三方)

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

4、url_hash(第三方)

按訪問url的hash結果來分配請求,使每個url定向到同乙個後端伺服器,後端伺服器為快取時比較有效。

一、準備環境如下:

1、我們配置四個nginx的虛擬主機,分別如下:

www.site.com

127.0.0.1:8081

127.0.0.1:8082

127.0.0.1:8083

site1.conf的配置如下:

server 

#在http中加入fastcgi_intercept_errors on;

#配置404資訊

error_page 404 /404.html;

#配置500資訊

error_page 500 502 503 504 /50x.html;

#快取資源

#快取js、css資源

location ~ .*\.(js|css)$

#對php的支援

location ~ \.php$

}

site2.conf和site3.conf的配置同site1.conf,只是埠、日誌檔案和目錄位址需要修改。

2、三個站點下分別建立index.html,方便檢視訪問了哪個虛擬主機

我是站點一

二、配置好上述三颱虛擬主機後,我們需要在nginx.conf的http{}節點中設定upstream

#注意這裡的myserver,可自定義

upstream myserver

三、在需要負載的虛擬主機配置檔案中新增

修改後的site.conf檔案如下:

server 

}

四、我們重啟nginx,通過瀏覽器訪問www.site.com。

我們重新整理瀏覽器,可以看到,**出現的內容,會隨著你的重新整理,輪詢顯示站點一,站點二,站點三。

五、upstream中的配置

upstream myserver

weight預設為1,weight越大,負載的權重就越大。

upstream myserver

down表示當前的server暫時不參與負載

upstream myserver

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

upstream myserver

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

fail_timeout當max_fails 次失敗後,暫停的時間。

Nginx配置upstream實現負載均衡

今天來實踐一下upstream的應用,環境如下 名稱server1 nginx server2 apache php sever3 apache php server4 nginx php ip192.168.10.3 192.168.10.4 192.168.10.5 192.168.10.6 目...

Nginx使用upstream實現負載均衡

upstream模組相關說明 1 upstream模組應放於nginx.conf配置的http 標籤內 2 upstream模組預設演算法是wrr 權重輪詢 weighted round robin 一 分配方式 nginx的upstream支援5種分配方式,下面將會詳細介紹,其中前三種為nginx...

Nginx簡介及使用Nginx實現負載均衡的原理

nginx 這個輕量級 高效能的 web server 主要可以幹兩件事情 直接作為http server 代替apache,對php需要fastcgi處理器支援 另外乙個功能就是作為反向 伺服器實現負載均衡 1 環境 a.我們本地是windows系統,然後使用virutalbox安裝乙個虛擬的li...