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配置文件
1 2 | <Valve className= "com.r.tomcat.session.management.RequestSessionHandlerValve" > <Manager className= "com.r.tomcat.session.management.RequestSessionManager" > |
5、设置session过期时间(可选)
在/tomcat/conf/web.xml中编辑下面这段配置即可,默认已经配置了,单位是min
1 2 3 | <session-config> <session-timeout>30</session-timeout> </session-config> |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!