開心生活站

位置:首頁 > 綜合知識 > 

nginx在做負載均衡時如何配置

1、下面的架構就是我們今天的演示結構,後端有兩臺服務器,分別是node1和node2,前端是一臺web服務器,然後在web服務器上做負載均衡,將前端的訪問流量導到後端的兩個節點服務器上。三個服務器的IP地址分別是:web:192.168.1.210node1:192.168.1.211node2:192.168.1.212

nginx在做負載均衡時如何配置

2、按照這樣的架構,在後端的node1和node2節點上分配配置好需要訪問的網站,然後爲了方便測試,我們將兩個網站的主頁分別改成下面的內容。便於區分訪問的節點。

3、後端兩個節點配置好以後,我們再來配置web服務器裏的負載均衡配置,首先使用默認配置,先打開/etc/nginx/nginx.conf配置文件,在http區塊裏添加upstream塊內容,及配置了兩個後端服務器,後端負載均衡集羣的名稱是backend,記下這個名稱。

4、然後再打開/etc/nginx/conf.d/default.conf這個配置文件,在server區塊裏,把location裏面的內容改成圖中所示內容。即將所有訪問192.168.1.210的流量代理到後端的backend集羣裏。

5、配置文件配置好以後,使用nginx -t命令測試一下配置文件,保證配置文件是ok狀態,然後執行nginx命令啓動nginx服務器。

6、啓動後在瀏覽器上輸入前端web服務器的ip地址192.168.1.210,然後可以看到第一次是node1響應的,然後刷新一下以後,又變成了node2響應的。就這樣實現了負載均衡的效果。由兩個服務器分別響應,是因爲默認的負載均衡算法是輪詢算法,即兩個節點輪流來。

7、然後我們還可以嘗試一下加權輪詢算法, 即給不同的節點配置不同的權重,權重高一點的服務器,響應的多一些,權重第一點的響應少一些。加權輪詢算法配置,在後端服務器後面加上權重值weight即可。配置好以後,執行nginx -t命令檢測配置文件,確認無誤後,執行nginx -s reload命令重新加載配置文件。

8、通過加權輪詢的方式,我們無法通過手動一次次點擊,最後來統計次數。但是我們可以使用自動化工具來統計。使用的工具是一款叫做httpd-tools的軟件,安裝好以後,提供了一個ab命令

9、然後我們來執行ab命令進行測試,常用的格式是:ab -n 1000 -c 50 http://localhost這個命令是在210服務器上執行的。表示一共執行1000次訪問,每次發送50個請求。

10、然後我們登錄到後端的node1服務器上,打開nginx的訪問日誌,從中可以看到ab命令測試的訪問信息裏,訪問來源都是ApacheBench,因此可以通過可以來源來統計nginx響應的次數。命令是:grep ApacheBench access.log | wcnode1和node2節點上的統計結果分別是714和286,如下面圖中所示,雖然沒有達到5:2的權重比例,但是也非常接近了。說明這個配置生效了。