安裝兩個tomcat,tomcat安裝,參考:https://www.cnblogs.com/uncleyong/p/10742650.htmlhtml
兩個tomcat的端口要不同(shutdown、ajp、http三個端口),其中,tomcat1的http端口是8680,tomcat2的http端口是8681nginx
把test.jsp放到tomcat安裝路徑下的webapps/ROOT下web
tomcat1的test.jspredis
tomcat2的test.jsptomcat
啓動兩個tomcat服務服務器
而後能夠經過ps -ef |grep tomcat看服務是否啓動起來了session
訪問tomcat1,192.168.168.200:8680/test.jspapp
訪問tomcat2,192.168.168.200:8681/test.jsp負載均衡
上面均可以訪問,可是端口不同。webapp
安裝nginx,參考:http://www.javashuo.com/article/p-bvaxrbkv-gq.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