1.基於uri請求排程至不同集群
web01 提供/user,使用多埠方式來模擬多個web節點
[root@web01 ~]
# cat /etc/nginx/conf.d/agent.oldxu.com.conf
server
}server
}mkdir /agent/
-pecho
"user-8080" > /agent/8080/index.html
echo
"user-8081" > /agent/8081/index.html
systemctl reload nginx
web02 提供/pass,使用多埠方式來模擬多個web節點
[root@web02 ~]
# cat /etc/nginx/conf.d/agent.oldxu.com.conf
server
}server
}mkdir /agent/
-pecho
"pass-80802" > /agent/8082/index.html
echo
"pass-80803" > /agent/8083/index.html
systemctl reload nginx
使用負載均衡作為統一入口,根據使用者請求的uri進行排程
[root@lb01 ~]
# cat /etc/nginx/conf.d/proxy_agent.oldxu.com.conf
upstream agent-user
upstream agent-pass
server
location /pass
}
2.通過負載均衡將**的終端裝置排程不同的頁面
web01作為手機端
[root@web01 ~]
# cat /etc/nginx/conf.d/useragent.oldxu.com.conf
server
}[root@web01 ~]
# mkdir /useragent
[root@web01 ~]
# echo "phone..." > /useragent/index.html
[root@web01 ~]
# systemctl reload nginx
web02作為pc端
[root@web02 ~]
# cat /etc/nginx/conf.d/useragent.oldxu.com.conf
server
}[root@web02 ~]
# mkdir /useragent
[root@web02 ~]
# echo "pc..." > /useragent/index.html
[root@web02 ~]
# systemctl reload nginx
負載均衡判斷裝置,然後排程到不同的集群
[root@lb01 ~]
# cat /etc/nginx/conf.d/proxy_useragent.oldxu.com.conf
upstream pc
upstream sj
server
#如果開發寫的**不支援某些瀏覽器,還可以直接在nginx層面拒絕他比如:msieif(
}
3.proxy_pass 新增 / 和不新增 / 有什麼區別
不帶 / 示例:
location /user
使用者請求url: /user/test/index.html
請求到達nginx負載均衡: /user/test/index.html
nginx負載均衡到後端節點: /user/test/index.html
帶 / 示例
location /user
使用者請求url: /user/test/index.html
請求到達nginx負載均衡: /user/test/index.html
nginx負載均衡到後端節點: /test/index.html
總結:
帶 / 意味著nginx會修改使用者請求的url,將location匹配的url進行刪除。
不帶 / 意味著nginx不會修改使用者請求的url,而是直接**到後端應用伺服器。
"獲取x_forwarded_for的真實ip位址是: $ip"
;?>nginx_reallp模組
10.0.0.1 --> client ip.oldxu.com
10.0.0.5 --> proxy-1
10.0.0.7 --> proxy-2
10.0.0.8 --> web
[root@web02 ~]
# cat /etc/nginx/conf.d/ip.oldxu.com.conf
server
location ~ \.php$
}
Nginx負載均衡排程演算法
接收到的請求按照順序逐一分配到不同的後端伺服器,即使在使用過程中,某一台後端伺服器宕機,nginx會自動將該伺服器剔除出佇列,請求受理情況不會受到任何影響。這種方式下,可以給不同的後端伺服器設定乙個權重值 weight 用於調整不同的伺服器上請求的分配率 權重資料越大,被分配到請求的機率越大 該權重...
個人筆記nginx 四層負載均衡
1.什麼是負載均衡 基於傳輸層 協議包來封裝的 tcp ip 七層負載均衡是 應用層協議,他組裝在四層 負載均衡基礎之上,無論是四層負載均衡還是 七層負載均衡 都指的是 osi 網路模型。傳輸層 tcp udp協議 埠 基於 ip port的負載均衡 ssh 22 mysql 3306 redis ...
nginx 負載均衡 Nginx負載均衡策略
nginx提供的負載均衡策略有2種 內建策略和擴充套件策略。內建策略為輪詢 預設 加權輪詢,ip hash,第三方。upstream mysvr1 輪詢 每個請求按照時間順序逐一的分配到每乙個後台伺服器上。如果某台伺服器宕機了,將會自動的剔除宕機的服務。nginx預設就是輪詢其權重都預設為1,伺服器...