负载均衡环境: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
__EOF__
关于博主:擅长性能、全链路、自动化、企业级自动化持续集成(DevTestOps)、测开等
面试必备:项目实战(性能、自动化)、简历笔试,https://www.cnblogs.com/uncleyong/p/15777706.html
测试提升:从测试小白到高级测试修炼之路,https://www.cnblogs.com/uncleyong/p/10530261.html
欢迎分享:如果您觉得文章对您有帮助,欢迎转载、分享,也可以点击文章右下角【推荐】一下!