標籤:nginx web
Nginx 負載平衡
什麼是nginx負載平衡?
Nginx作為一個強大的web伺服器管理軟體,自身帶有負載平衡和反向 Proxy的功能,那麼他和lvs之間有什麼區別呢?
LVS負載:是基於4層的負載平衡,
優點:
1抗負載能力強
2配置性低
3工作穩定
4無流量
5基本支援所有應用負載平衡,如WEB,資料庫
Nginx負載:基於7層的負載平衡
特點:
1nginx工作在網路7層,他可以針對http本身做分發策略,如網域名稱,目錄結構等
2nginx對網路依賴小
3配置簡單,測試方便
4nginx同樣能承受很高負載且穩定
Nginx應用情境
適用於7層的負載平衡
Nginx缺點:
1、Nginx僅能支援http、https和Email協議,這樣就在適用範圍上面小些,這個是它的缺點。
2、對後端伺服器的健全狀態檢查,只支援通過連接埠來檢測,不支援通過url來檢測。不支援Session的直接保持,但能通過ip_hash來解決。
Nginx負載平衡配置
架構
負載: 192.168.1.104
Web1:192.168.1.105
Web2:192.168.1.106
測試兩個web之間網站是否正常,和伺服器是否通訊
Ok 都通訊
現在開始配置負載 nginx
首先將hosts檔案添加另外兩台host檔案 保證網域名稱通訊
Ok 確保網域名稱通訊
配置nginx.conf檔案
前面咱們說了nginx 負載平衡需要一個模組 upstream
這個模組是用來做負載平衡的
upstream servers {
server 192.168.1.105:80 weight=1;
server 192.168.1.106:80 weight=1;
}
Nginx 反向 Proxy
Nginx 反向 Proxy除了通過ip地址轉寄,還可以通過url 副檔名轉寄等等,後續補上
upstream servers {
server 192.168.1.105:80 weight=1;
server 192.168.1.106:80 weight=1;
}
server {
listen 80;
server_name www.xiaohu.com;
location / {
proxy_pass http://192.168.1.105; 這裡指的是代理的地址,地址必須在upstream模組裡才能跳轉
root html;
測試
[[email protected] ~]# curl www.xiaohu.com
192.168.1.105
跳轉到105
Nginx負載平衡及反向 Proxy