部署兩個服務
安裝兩個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