nginx+tomcat集群+redis(memcache)session共享!
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nginx+tomcat集群+redis(memcache)session共享!相关的知识,希望对你有一定的参考价值。
nginx+tomcat+redissession共享
常用保持session的方式:
1、一些代理(比如nginxIP_hash)
1、使用数据库来存储Session
2、使用Cookie来存储Session
3、使用Redis来存储Sesssion(memcache也可以)
……
环境:
192.168.1.220 nginx centos6.6 端口:80
版本:1.9.2
192.168.1.224 tomcatA centos6.6 端口:8080
192.168.1.225 tomcatB centos6.6 端口:8090
版本:Jdk:1.7.0_75 Tomcat:7.0.54
192.168.1.223 redis 3.0.5 端口:6379
配置session保持并测试:
nginx.conf配置:
upstream www.tomcatcluster.com {
zone myapp1 64k;
server 192.168.1.224:8080 weight=1 max_fails=2fail_timeout=30s;
server 192.168.1.218:8090 weight=1 max_fails=2fail_timeout=30s;
}
server {
listen 80 default;
server_name www.tomcat.com;
location / {
proxy_pass http://www.tomcatcluster.com;
}
}
TomcatA:TomcatB
会话保持:
编辑tomcat配置文件context.xml(TomcatA和TomcatB均操作)
<Context>
<Valve className="com.orangefunction.tomcat.redissessions.RedisSessionHandlerValve"/>
<ManagerclassName="com.orangefunction.tomcat.redissessions.RedisSessionManager"
host="192.168.1.223" <!-- Redis地址 -->
port="6379" <!-- Redis端口 -->
paassword="tomcat" <!-- Redis密码 -->
database="0" <!-- 存储Session的Redis库编号 -->
maxInactiveInterval="60" <!-- Session失效的间隔(秒) -->
/>
</Context>
mv commons-pool2-2.2.jar jedis-2.7.2.jar tomcat-redis-session-manage-tomcat7.jar /usr/local/tomcat-7.0.54/lib/
如何测试session会话保持?
可以看到虽然Server从TomcatA变为TomcatB,但session的创建时间没有变化,这就完成了session共享。
本文出自 “[email protected]” 博客,请务必保留此出处http://renzhiyuan.blog.51cto.com/10433137/1857743
以上是关于nginx+tomcat集群+redis(memcache)session共享!的主要内容,如果未能解决你的问题,请参考以下文章
Redis+Tomcat+Nginx集群实现Session共享,Tomcat Session共享
使用Redis存储Nginx+Tomcat负载均衡集群的Session
使用Redis存储Nginx+Tomcat负载均衡集群的Session