Nginx實現負載均衡配置

1、負載均衡的分類
硬件負載均衡:通過物理設備來實現負載均衡,如F5或者7層和4層的網絡設備,優點:性能優於軟件負載均衡,策略和算法更豐富
軟件負載均衡:通過軟件實現負載均衡,優點:成本低,配置簡單,還能滿足需求,缺點:耗費一定的系統資源,同時軟件本身也是一個負載均衡處理能力的瓶頸。
2、Nginx負載均衡的方式
2.1、輪詢,默認方式
每個請求按照時間順序,逐一分配給不同的服務器
2.2、weight,權重
指定輪詢權重,此種方式適用於後端服務器性能不統一的情況或者服務上線測試階段,權重越高,被輪詢到的概率越高
2.3、ip_hash,ip哈希
通過訪問ip的hash結果分配,可以讓一個客戶端訪問後臺服務器是固定的,可以解決某些會話上的問題
2.4、fiar,服務器響應時間分配模式
Nginx默認不支持此模式,需要安裝upstream_fair模塊,此模式根據服務器響應客戶端請求的時間來進行分配負載,響應時間越短,越優先分配
2.5、url_hash,根據url的hash結果分配請求
需要安裝Nginx的hash軟件包,這個模式是根據url的hash結果進行分配負載,每個客戶端的請求會被固定指向後臺某個服務器,在靜態資源的服務器,非常實用
2.6、7層的代理負載均衡
這個模式能實現web資源的動靜資源的分離,以及基於擴展名的資源分離負載
3、配置過程
3.1、實驗環境,三臺服務器
lab234:192.168.80.234 模擬HTTP服務器
lab235: 192.168.80.235 模擬HTTP服務器
lab236: 192.168.80.236 模擬Nginx負載均衡服務器
3.2、首先分別配置兩臺HTTP服務器
關閉防火牆:systemctl stop firewalld
關閉selinux:setenforce 0






















root@lab234 ~]# yum  -y install  httpd
root@lab234 ~]# echo "Welcome to beijing!" >>/var/www/html/index.html
root@lab234 ~]# systemctl start httpd

lab235執行上述一樣的操作即可,需要將index的內容更換一下,以便結果的展示,echo "Welcome to shanghai!" >>/var/www/html/index.html
測試HTTP配置結果:
在這裏插入圖片描述

4.配置Nginx負載均衡器
4.1、安裝Nginx

root@lab234 ~]# yum  -y install  Nginx

注意:安裝Nginx要通過epel源安裝
4.2、配置輪詢模式

root@lab234 ~]# vim /etc/nginx/conf.d/upstream.conf
upstream web-server
{
        server  192.168.80.234:80;
        server 192.168.80.235:80;
}
server {
        listen 80;
        server_name www.adong.com;
        location / {
        proxy_pass http://web-server;
}
}

4.3、測試Nginx負載均衡
關閉防火牆:systemctl stop firewalld
關閉selinux:setenforce 0
啓動Nginx:systemctl start Nginx
此時我們直接訪問Nginx中指定的域名即可:www.adong.com
因爲測試環境,我們沒有真正的申請上述域名,如果要解析,我們需要配置計算機客戶端的hosts文件
在這裏插入圖片描述
測試結果:
在這裏插入圖片描述
我們也可以直接在負載均衡器上直接測試
在這裏插入圖片描述
總結:
以上就是輪詢模式的Nginx負載均衡配置,後面的幾種模式會後續更新......











發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章