一、Session共享使用tomcat-cluster-redis-session-manager插件实现
插件地址见:
https://github.com/ran-jit/tomcat-cluster-redis-session-manager
该插件支持Tomcat7、Tomcat8、Tomcat9
或者直接在附件中下载(版本为2.0.2,2017-11-27日前最新版本)
http://dl.iteye.com/topics/download/d9fffd9d-84dd-385b-b10e-6376eaf0c815
这里有是一个只支持Tomcat7的,不支持tomcat8,暂时不见新的维护:
https://github.com/jcoleman/tomcat-redis-session-manager
二、tomcat-cluster-redis-session-manager详解
1、解压后的文件如下:

conf目录下有一个redis-data-cache.properties :
Redis的配置文件
#-- Redis data-cache configuration
#- redis hosts ex: 127.0.0.1:6379, 127.0.0.2:6379, 127.0.0.2:6380, ....
redis.hosts=127.0.0.1:6379
#- redis password (for stand-alone mode)
#redis.password=
#- set true to enable redis cluster mode
redis.cluster.enabled=false
#- redis database (default 0)
#redis.database=0
#- redis connection timeout (default 2000)
#redis.timeout=2000
ib目录下有4个jar包,如下:
1. commons-logging-1.2.jar
2. commons-pool2-2.4.2.jar
3. jedis-2.9.0.jar
4. tomcat-cluster-redis-session-manager-2.0.1.jar
三、使用方法:
压缩文件中有使用方法,见readMe.txt 文件:
第一步:
1. Move the downloaded jars to tomcat/lib directory
* tomcat/lib/
就是把lib目录下的Jar包全复制到tomcat/lib目录下
(一般来说tomcat是集群,至少有2个tomcat,所以先配置好一个tomcat,复制完文件后,再将tomcat文件重新复制一份,这样省事,但需要修改tomcat相应的端口)
第二步:
2. Add tomcat system property "catalina.base"
* catalina.base="TOMCAT_LOCATION"
就是配置一个环境变量,和Jdk配置的环境变量一样,需要配置一个catalina.base的环境变量,值为TOMCAT_LOCATION
如下:

本文详细介绍了如何使用tomcat-cluster-redis-session-manager插件实现Redis、Tomcat和Nginx集群的Session共享。通过配置Redis数据缓存、更新Tomcat的lib目录和context.xml,以及调整Nginx的upstream和location设置,成功实现了服务器间的Session一致性。测试结果显示,即使关闭其中一个Tomcat实例,Session仍然能够保持不变,验证了集群的Session共享效果。
最低0.47元/天 解锁文章
166

被折叠的 条评论
为什么被折叠?



