redis實現tomcat集群session共享


1、部署兩個tomcat節點,使用nginx實現集群(見http://www.cnblogs.com/zhangzhi0556/articles/nginx.html);

 
 
3、建一個簡單的web項目,打包發布到各個tomcat中,用於測試session是否真的實現了共享(自己想辦法怎么建測試項目)
 
4、下載開源組件tomcat-redis-session-manager
下載方式一: https://github.com/jcoleman/tomcat-redis-session-manager/downloads  (這個是早期的,不支持redis3.0集群)
 
下載方式二(推薦): https://github.com/ran-jit/TomcatClusterRedisSessionManager (支持redis3集群和tomat8)
最好通過以下地址下載:
https://github.com/ran-jit/TomcatClusterRedisSessionManager/wiki/Tomcat-Cluster-Redis-Session-Manager
可以下載TomcatRedisSessionManager-1.0.zip包,解壓后包括所需的jar包和配置文件。如下所示:
commons-logging-1.2.jar
commons-pool2-2.4.1.jar
jedis-2.8.0.jar
commons-pool2-2.4.1.jar
commons-logging-1.2.jar
RedisDataCache.properties
 
5、將上面jar包拷貝到各個tomcat的lib目錄下, 將RedisDataCache.properties拷到tomcat的conf目錄下。
 
6、配置文件修改
(1)修改RedisDataCache.properties配置文件如下:
# redis hosts ex: 127.0.0.1:6379, 127.0.0.2:6379, 127.0.0.2:6380, ....
redis.hosts=192.168.187.131:6379 (redis服務器IP及端口號)
# Redis Password
redis.password= redis (REDIS配置文件中設置的密碼)
# set true to enable redis cluster mode
redis.cluster.enabled=false
 
(2)在tomcat/conf/context.xml文件中增加以下兩行:
<Valve className="com.r.tomcat.session.management.RequestSessionHandlerValve"/>
 <Manager className="com.r.tomcat.session.management.RequestSessionManager"/>
 
(3)設置tomcat/conf/web.xml 中 session有效期
    <session-config>
         <session-timeout>60<session-timeout>
    <session-config>
如果項目里也配置了session有效期,則以項目中有准。
 
7、先啟動redis,再啟動tomcat,訪問測試項目進行測試。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM