tomcat+nginx+redis

tomcat+nginx+redis 目的:负载均衡,发布新版不宕机

参考资料

https://my.oschina.net/liting/blog/535273
http://blog.csdn.net/qq584852076/article/details/46502185
http://www.cnblogs.com/zhrxidian/p/5432886.html

Tomcat的版本必须是7系列的,Redis和Tomcat集成有个开源的项目,貌似暂时不支持6和8 开源项目的链接:https://github.com/jcoleman/tomcat-redis-session-manager/
JDK的版本必须是7以上 如何支持Tomcat8 见http://blog.csdn.net/lzc409973859/article/details/51981079

部署的架构如下图

1.部署3个Tomcat,端口号分别是 9081,9082,9083

2.安装Nginx
官网下载,解压即可
修改conf/nginx.conf

启动Nginx:start nginx 有窗口一闪而过

如果修改了conf/nginx.conf,需要重新加载 nginx -s reload

3.安装Redis和Redis客户端
Redis下载后,解压即可。
Redis的配置文件:redis.windows.conf
Redis默认是没有设置密码的,这里加个密码

启动Redis:进去Redis的目录下 redis-server.exe redis.windos.conf

客户端安装后

4.Tomcat和Redis集成
需要在Tomcat的lib下放3个jar包。版本号不能弄错。
tomcat-redis-session-manager-1.2-tomcat-7.jar
jedis-2.2.0.jar
commons-pool-1.6.jar

修改Tomcat的conf/context.xml
加上这段配置

关闭掉Tomcat自带的Session持久化,将下面的注释放开。

5.测试效果

在3个Tomcat的webapps\ROOT下放以下的 session.jsp

依次启动 Redis -> Tomcat1,2,3 -> Nginx

然后用浏览器访问 localhost:9088/session.jsp
不停刷新,可以发现 Tomcat一直在切换,但是SessionID保持不变。说明配置都OK了

6.项目需要做的调整
理论上做了以上的配置,把应用项目放在Tomcat下就好了。
但是需要注意的是如果要往redis中存入对象,需要改对象序列化才能存入。

原文地址:https://www.cnblogs.com/mousachi2007/p/6438460.html