码迷,mamicode.com
首页 > 系统相关 > 详细

nginx+tomcat集群+redis(memcache)session共享!

时间:2016-09-29 22:31:45      阅读:339      评论:0      收藏:0      [点我收藏+]

标签: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共享。


本文出自 “renzhiyuan@chinacfsc.com” 博客,请务必保留此出处http://renzhiyuan.blog.51cto.com/10433137/1857743

nginx+tomcat集群+redis(memcache)session共享!

标签:nginx+tomcat集群+redis(memcache)session共享!

原文地址:http://renzhiyuan.blog.51cto.com/10433137/1857743

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!