Tomcat8下的Redis会话共享

前言:

  最近在做网站的升级,从Tomcat7升级到Tomcat8版本,因为没接触过,就以为升级下Tomcat的版本就万事大吉,可是天不如人愿,很顺利的将应用升级到了Tomcat8。

看着没有问题,但是测试下业务,居然不能够登录(白屏)。WTF?

  先说下网站是有三个Tomcat进行负载的,如果只是启动一台,然后通过域名进行访问,是完全没有问题的,如果再启动一台Tomcat,那么现在就会有问题(白屏)了。

遂:肯定还落了什么东西没有配置,终于在费了九牛二虎之力,于旧的tomcat//conf/context.xml中找到了如下的配置:

现在就有了一些思路,三台服务器有负载的情况,那么肯定是会共享session的,指定是这个问题,于是一顿噼里啪啦的百度,就有了现在这篇博客

环境:

  JDK7

  Tomcat8应用服务器-三台

  Redis服务器-一台

步骤:

开源项目地址:https://github.com/ran-jit/tomcat-cluster-redis-session-manager

1、下载所需资源

 

 下载完毕如下图所示:

2、上传jar包

  上传上面的四个jar包到新tomcat的lib目录下

3、编写redis的配置文件

  1、编辑RedisDataCache.properties这个文件,上面写上你的redis相关配置

  2、将配置文件上传到新Tomcat的conf目录下

4、编辑conf/context.xml配置文件

<Valve className="com.r.tomcat.session.management.RequestSessionHandlerValve">
<Manager className="com.r.tomcat.session.management.RequestSessionManager">

5、设置session过期时间(可选)

  在/tomcat/conf/web.xml中编辑下面这段配置即可,默认已经配置了,单位是min

<session-config>
        <session-timeout>30</session-timeout>
</session-config>

 6、重启Tomcat

posted @ 2022-06-23 22:49  Java小白的搬砖路  阅读(266)  评论(0编辑  收藏  举报