1、下面的架構就是我們今天的演示結構,後端有兩台服務器,分别是node1和node2,前端是一台web服務器,然後在web服務器上做負載均衡,将前端的訪問流量導到後端的兩個節點服務器上。三個服務器的IP地址分别是:web:192.168.1.210node1:192.168.1.211node2:192.168.1.212
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的權重比例,但是也非常接近了。說明這個配置生效了。
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!