Nginx調度(反向代理)配置
nginx反向代理
優點:負載均衡,預防單點故障。
實驗環境:
首先搭建兩個web網站,為看效果,故設置內容不一樣。
設置調度器:
1.修改配置文件
upstream webserver {
server 192.168.2.100:80;
server 192.168.2.200:80
}
.. ..
server {
listen 80;
server_name localhost;
location / {
proxy_pass http://webserver;
root html;
index home.php index.html index.htm;
}
upstream 定義集群。
webserver 為集群命名。
2.刷新nginx服務
# /usr/local/nginx/sbin/nginx -s reload
3.客戶端進行測試
curl http://192.168.4.5
二
因,調度默認輪詢算法,故可通過設置屬性進行合理分配。
配置服務器集群屬性
1.設置失敗次數,超時時間,權重
http {
.. ..
upstream webserver {
server 192.168.2.100 weight=1 max_fails=1 fail_timeout=10;
server 192.168.2.200 weight=2 max_fails=2 fail_timeout=10;
}
//weight設置服務器權重值
//max_fails設置最大失敗次數
//fail_timeout設置失敗超時時間,單位為秒
.. ..
2.重啟nginx服務
# /usr/local/nginx/sbin/nginx -s reload
3.關閉一臺後端服務器(web1)
# systemctl stop httpd
4.客戶端使用瀏覽器訪問代理服務器測試
# curl http://192.168.4.5 //使用該命令多次訪問查看效果
5.再次啟動後端服務器的httpd(web1)
# systemctl start httpd
6.客戶端再次使用瀏覽器訪問代理服務器測試
# curl http://192.168.4.5 //使用該命令多次訪問查看效果
特殊情況:【若機器維修時間過長,可設置不再詢問該機器:可用 # 或 down 】
server 192.168.2.100 weight=1 max_fails=1 fail_timeout=10 down;
# server 192.168.2.100 weight=1 max_fails=1 fail_timeout=10 ;
三
1.設置相同客戶端訪問相同web服務器:【避免客戶在當前頁面作業時刷新,頁面返回不一致】
http {
.. ..
upstream webserver {
ip_hash; 【設置記錄ip】
server 192.168.2.100 weight=1 max_fails=1 fail_timeout=10;
server 192.168.2.200 weight=2 max_fails=2 fail_timeout=10;
}
2.重啟nginx服務
# /usr/local/nginx/sbin/nginx -s reload
3.測試
# curl http://192.168.4.5 //使用該命令多次訪問查看效果
Nginx調度(反向代理)配置