nginx+tomcat+redis架构搭建web应用
部署的架构图如下:
1.nginx配置
修改conf/nginx.conf
启动Nginx:start nginx 有窗口一闪而过
如果修改了conf/nginx.conf,需要重新加载 nginx -s reload
2.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
tomcat7和tomcat6需要的jar包如下:
链接:https://pan.baidu.com/s/1f8ZqB2aphXdBbrz6F2zrpA
提取码:4kmj
项目需要做的调整
理论上做了以上的配置,把应用项目放在Tomcat下就好了。
但是需要注意的是如果要往redis中存入对象,需要改对象序列化才能存入。
修改Tomcat的conf/context.xml
加上这段配置
<Valve className="com.radiadesign.catalina.session.RedisSessionHandlerValve"/>
<Manager className="com.radiadesign.catalina.session.RedisSessionManager" database="0"
host="localhost" maxInactiveInterval="60" port="6379"/>
关闭掉Tomcat自带的Session持久化,将下面的注释放开。
3.测试效果
在3个Tomcat的webapps\ROOT下放以下的 session.jsp
依次启动 Redis -> Tomcat1,2,3 -> Nginx
然后用浏览器访问 localhost:9088/session.jsp
不停刷新,可以发现 Tomcat一直在切换,但是SessionID保持不变。说明配置都OK了
4.项目需要做的调整
理论上做了以上的配置,把应用项目放在Tomcat下就好了。
但是需要注意的是如果要往redis中存入对象,需要改对象序列化才能存入。