Nginx 負載均衡 配置實例

1. 準備工做

(1)準備兩臺 tomcat 服務器,一臺 8080,一臺 8081 
(2)在兩臺 tomcat 裏面 webapps 目錄中,建立名稱是 edu 文件夾,在 edu 文件夾中建立頁面 index.html,用於測試html

   (3) 啓動 兩臺tomcat服務器nginx

    訪問測試:web

[root@VM-0-7-centos conf]# curl 127.0.0.1:8080/edu/index.html
8080!!!


[root@VM-0-7-centos conf]# curl 127.0.0.1:8081/edu/index.html
8081!!!

2. 在 nginx 的配置文件中進行負載均衡的配置

2.1 在 http 模塊中增長 upstream 定義負載均衡 名字 myserver 

2.2 在 server.location 中配置 proxy_pass    http://myserver;

http {
....
    upstream myserver {
        server 127.0.0.1:8080;
        server 127.0.0.1:8081;
    }
......
    server {
        listen      1080;
        server_name 127.0.0.1 ;

        location / {
            root   html;
            index  index.html index.htm;
            proxy_pass http://myserver;
        }
.....


}

3. 重啓 nginx 加載配置

nginx -s reload

4.測試 

[root@VM-0-7-centos conf]# nginx -s reload
[root@VM-0-7-centos conf]# curl 127.0.0.1:1080/edu/index.html
8080!!!


[root@VM-0-7-centos conf]# curl 127.0.0.1:1080/edu/index.html
8081!!!

5. Nginx 提供了幾種分配方式(策略)

1、輪詢(默認)

每一個請求按時間順序逐一分配到不一樣的後端服務器,若是後端服務器 down 掉,能自動剔除。後端

2weight

weight 表明權,重默認爲 1,權重越高被分配的客戶端越多 指定輪詢概率, weight 和訪問比率成正比,用於後端服務器性能不均的狀況。centos

upstream server_pool{
  server 192.168.5.21 weight=10;
  server 192.168.5.22 weight=10;
}

三、 ip_hash


每一個請求按訪問 ip hash 結果分配,這樣每一個訪客固定訪問一個後端服務器,能夠解決 session 的問題。tomcat

upstream server_pool{
  ip_hash;
  server 192.168.5.21:80;
  server 192.168.5.22:80;
}

 

四、 fair(第三方)

按後端服務器的響應時間來分配請求,響應時間短的優先分配。
 服務器

upstream server_pool{
  server 192.168.5.21:80;
  server 192.168.5.22:80;
  fair;
}
相關文章
相關標籤/搜索