負載均衡環境:nginx + 2tomcat

部署兩個服務

安裝兩個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負載均衡

安裝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

相關文章
相關標籤/搜索