負載均衡環境:nginx + 2tomcat


部署兩個服務

安裝兩個tomcat,tomcat安裝,參考:https://www.cnblogs.com/uncleyong/p/10742650.html

兩個tomcat的端口要不一樣(shutdown、ajp、http三個端口),其中,tomcat1的http端口是8680,tomcat2的http端口是8681

把test.jsp放到tomcat安裝路徑下的webapps/ROOT下

tomcat1的test.jsp

tomcat2的test.jsp

啟動兩個tomcat服務

然后可以通過ps -ef |grep tomcat看服務是否啟動起來了

訪問tomcat1,192.168.168.200:8680/test.jsp

訪問tomcat2,192.168.168.200:8681/test.jsp

上面都可以訪問,但是端口不一樣。

nginx負載均衡

安裝nginx,參考:https://www.cnblogs.com/UncleYong/p/10742883.html

通過nginx(反向代理服務器),可以實現訪問一個地址

修改nginx配置文件nginx.conf

添加如下內容

upstream qzcsbj{

  server 192.168.168.200:8680;

  server 192.168.168.200:8681;

}

proxy_pass http://qzcsbj;

重啟nginx:./nginx -s reload

nginx負載均衡策略默認是輪詢,請求一個地址:192.168.168.200/test.jsp,可以訪問不同的服務器,但是sessionID一直在變化

訪問到tomcat1

訪問到tomcat2

每次sessionID不一樣,所以,集群會出現session共享的問題。

解決方案:iphash(修改配置文件,添加如下內容:ip hash;),固定訪問服務器,但是如果這台服務器掛了,就會出現請求失敗的問題。

比較好的解決方案是:通過redis共享session,參考:https://www.cnblogs.com/UncleYong/p/10986548.html

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM