1. 程式人生 > >Nginx調度(反向代理)配置

Nginx調度(反向代理)配置

nginx調度 nginx反向代理 nginx輪詢設置 nginx記錄訪問ip

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調度(反向代理)配置