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中存入对象,需要改对象序列化才能存入。