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

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

时间:2018-03-09 12:13:40      阅读:214      评论:0      收藏:0      [点我收藏+]

标签:number   manage   nginx   man   pad   highlight   bash   16px   2-2   

常用保持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保持并测试:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
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均操作)

1
2
3
4
5
6
7
8
9
10
11
<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共享。


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

标签:number   manage   nginx   man   pad   highlight   bash   16px   2-2   

原文地址:https://www.cnblogs.com/jpfss/p/8533087.html

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