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 掉,能自動剔除。後端
2、 weight
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; }