tomcat-8.0.18 cluster 使用Redis共享Session 配置
事实证明 这位作者提在https://jingyan.baidu.com/article/ac6a9a5e10415f2b653eace8.html 最底下的http://pan.baidu.com/s/1dELCFVb 中提供的redis三个jar都是好用的,但是必须在tomcat8.0下使用,对于8.5不适用。
考虑到百度网盘的下载在某些特别神经质的把写个webapp当作天顶星科技藏着掖着生怕泄密的单位的局限性,我给转存了以下,如果你愿意也可以从 https://files.cnblogs.com/files/xiandedanteng/tomcat8-redis-session-manager.rar 下载,再次对作者表示感谢!
好了,言归正传,说下配置过程,其实也没什么好说的,几乎与 https://www.cnblogs.com/xiandedanteng/p/12148058.html 的如出一辙,两篇可以互相参照着看,别看下面有九步,可都是难者不会,会者不难的步骤,不要害怕。
1.下载Tomcat
地址 https://archive.apache.org/dist/tomcat/tomcat-8/v8.0.18/bin/apache-tomcat-8.0.18-windows-i64.zip
2.解压,放到本地,再拷贝一份,目录结构可以参照下图。

3.设置startup.bat的java_home和catalina_home。
tomcat01和tomcat02的bin下都有一个startup.bat文件,用文本编辑器打开,写入下面两行:
set JAVA_HOME="C:\Java8"
set CATALINA_HOME="C:\Install\tomcat8rediscluster\tomcat01"
注意catalina_home位置要跟着目录修改,Java_Home要写成你自己的。
set JAVA_HOME="C:\Java8"
set CATALINA_HOME="C:\Install\tomcat8rediscluster\tomcat02"
4.改写tomcat02的端口。
打开tomcat02下conf的server.xml,将端口8005改成8006,8080改成8088,8009改成8019.也可以改写成其它端口,只要好记且不和别的端口冲突就好。
此举目的是让tomcat01和tomcat02各用各的端口,互不影响。
改完端口请进cmd,使用startup.bat启动两个tomcat,确认没有问题。
5.拷贝war到两个tomcat的webapps下。
这个war是为了检验sessionid的,下载地址在:https://www.cnblogs.com/xiandedanteng/p/12143132.html
6.拷贝三个jar到两个tomcat的webapps下:
下载地址:https://files.cnblogs.com/files/xiandedanteng/tomcat8-redis-session-manager.rar
7.改写两个tomcat的conf下的context.xml如下:
<?xml version='1.0' encoding='utf-8'?>
<Context>
<WatchedResource>WEB-INF/web.xml</WatchedResource>
<WatchedResource>${catalina.base}/conf/web.xml</WatchedResource>
<Valve className="com.orangefunction.tomcat.redissessions.RedisSessionHandlerValve" />
<Manager className="com.orangefunction.tomcat.redissessions.RedisSessionManager"
host="192.168.0.106"
port=""
database="0"
password="ufo"
maxInactiveInterval="60" />
</Context>
上面蓝色部分是要拷贝到context.xml中的,红字部分需要根据你的本地情况改写。
注意,这个不是拷贝就完事的,请务必将host改写成你的ip,port改写成你的redis监听端口,password改写成你redis设定的密码。
8.启动redis,没有redis的兄弟请参看 https://www.cnblogs.com/xiandedanteng/p/12147921.html
C:\Install\Redis-x64-3.2.100>redis-cli.exe -h 127.0.0.1 -p 6379
127.0.0.1:6379> auth ufo
OK
127.0.0.1:6379> get username
(nil)
127.0.0.1:6379> set username 'haha'
OK
127.0.0.1:6379> get username
"haha"
127.0.0.1:6379>
9.打开cmd窗口,到两个tomcat的bin目录下,使用startup,bat启动两个tomcat:
C:\Install\tomcat8rediscluster\tomcat02>cd bin C:\Install\tomcat8rediscluster\tomcat02\bin>startup.bat C:\Install\tomcat8rediscluster\tomcat02\bin>set JAVA_HOME="C:\Java8" C:\Install\tomcat8rediscluster\tomcat02\bin>set CATALINA_HOME="C:\Install\tomcat8rediscluster\tomcat02"
Using CATALINA_BASE: ""C:\Install\tomcat8rediscluster\tomcat02""
Using CATALINA_HOME: ""C:\Install\tomcat8rediscluster\tomcat02""
Using CATALINA_TMPDIR: ""C:\Install\tomcat8rediscluster\tomcat02"\temp"
Using JRE_HOME: ""C:\Java8""
Using CLASSPATH: ""C:\Install\tomcat8rediscluster\tomcat02"\bin\bootstrap.jar;"C:\Install\tomcat8rediscluster\tomcat02"\bin\tomcat-juli.jar"
C:\Install\tomcat8rediscluster\tomcat02\bin>startup.bat C:\Install\tomcat8rediscluster\tomcat02\bin>set JAVA_HOME="C:\Java8" C:\Install\tomcat8rediscluster\tomcat02\bin>set CATALINA_HOME="C:\Install\tomcat8rediscluster\tomcat02"
Using CATALINA_BASE: ""C:\Install\tomcat8rediscluster\tomcat02""
Using CATALINA_HOME: ""C:\Install\tomcat8rediscluster\tomcat02""
Using CATALINA_TMPDIR: ""C:\Install\tomcat8rediscluster\tomcat02"\temp"
Using JRE_HOME: ""C:\Java8""
Using CLASSPATH: ""C:\Install\tomcat8rediscluster\tomcat02"\bin\bootstrap.jar;"C:\Install\tomcat8rediscluster\tomcat02"\bin\tomcat-juli.jar"
C:\Install\tomcat8rediscluster\tomcat02\bin>cd .. C:\Install\tomcat8rediscluster\tomcat02>cd .. C:\Install\tomcat8rediscluster>cd tomcat01 C:\Install\tomcat8rediscluster\tomcat01>cd bin C:\Install\tomcat8rediscluster\tomcat01\bin>startup.bat C:\Install\tomcat8rediscluster\tomcat01\bin>set JAVA_HOME="C:\Java8" C:\Install\tomcat8rediscluster\tomcat01\bin>set CATALINA_HOME="C:\Install\tomcat8rediscluster\tomcat01"
Using CATALINA_BASE: ""C:\Install\tomcat8rediscluster\tomcat01""
Using CATALINA_HOME: ""C:\Install\tomcat8rediscluster\tomcat01""
Using CATALINA_TMPDIR: ""C:\Install\tomcat8rediscluster\tomcat01"\temp"
Using JRE_HOME: ""C:\Java8""
Using CLASSPATH: ""C:\Install\tomcat8rediscluster\tomcat01"\bin\bootstrap.jar;"C:\Install\tomcat8rediscluster\tomcat01"\bin\tomcat-juli.jar"
C:\Install\tomcat8rediscluster\tomcat01\bin>
启动如果看不到异常出现,就到浏览器去看session id是否一致,如果你看到下面的画面,那就证明配置正确了。

--END-- 2020年1月5日15点47分
tomcat-8.0.18 cluster 使用Redis共享Session 配置的更多相关文章
- Tomcat三实例cluster多播方案共享session再配置
昨天已经将两实例cluster多播方案共享Session配置成功,其中的关键就在于server.xml中,engine->channel->receiver节点中address得写成自己的 ...
- linux下实现redis共享session的tomcat集群
为了实现主域名与子域名的下不同的产品间一次登录,到处访问的效果,因此采用rediss实现tomcat的集群效果.基于redis能够异步讲缓存内容固化到磁盘上,从而当服务器意外重启后,仍然能够让sess ...
- Nginx+tomcat集群使用redis共享session
一 :nginx负载均衡 当Tomcat当做独立的Servlet容器来运行时,可看做是能运行Java Servlet的独立Web服务器. 此外 Tomcat还可以作为其他Web服务器进程内或者进程外的 ...
- Tomcat7.0.99集群使用Redis共享session方案
以前配置过给予多播的session共享方案,这回再配置一个redis共享session的. 先小小的炫耀一下: 相信大家要做Tomcat+Redis+session配置,遇到的头号麻烦就是编译的tom ...
- SpringBoot,Security4, redis共享session,分布式SESSION并发控制,同账号只能登录一次
由于集成了spring session ,redis 共享session,导致SpringSecurity单节点的session并发控制失效, springSession 号称 无缝整合httpses ...
- Spring Boot 使用 Redis 共享 Session 代码示例
参考资料 博客:spring boot + redis 实现session共享 1. 新建 Maven 工程 我新建 spring-boot-session-redis maven 工程 2. 引入 ...
- Nginx+tomcat集群redis共享session应用方案
部署环境 主机 软件版本 192.168.88.1 nginx-1.12.2+redis-3.2.11 192.168.88.2 apache-tomcat-7.0.79 + jdk1.8 192.1 ...
- 一篇文章让你深透理解cookie和session,附带分布式WEB系统redis共享session方案
cookie和session有什么区别?这是一个很基础的知识点,大家可能都知道一个大概:cookie是存在客户端的,session是存储在服务端,cookie和session用来验证识别用户的登录状态 ...
- SessionStateMode之Redis共享session
周六的时候用SQL Server来实现session共享,今天下班早就试了下使用Redis来实现session共享.接着上一篇博客,上一篇使用sessionState节点mode="SQLS ...
随机推荐
- 小白入门Web前端开发学习一周小结
说之前还是先说点其他的,简单介绍下自己为何选择web前端开发: 本人之前在一家国企单位从事质检工作,干了3年,工资和待遇还算不错,但由于其工作的流动性导致知识的脱轨以及精神上的空缺,最后还是打算在25 ...
- 【模式识别与机器学习】——最大似然估计 (MLE) 最大后验概率(MAP)和最小二乘法
1) 极/最大似然估计 MLE 给定一堆数据,假如我们知道它是从某一种分布中随机取出来的,可是我们并不知道这个分布具体的参,即“模型已定,参数未知”.例如,我们知道这个分布是正态分布,但是不知道均值和 ...
- 使用Python语言通过PyQt5和socket实现UDP服务器
前言 最近做了一个小软件,记录一下相关内容. 已有条件 现在已有一个硬件设备作为客户端(暂称其为"电路"). 基于SIM卡,电路可以通过UDP协议传输数据(程序已经内置在电路中), ...
- C#LeetCode刷题之#700-二叉搜索树中的搜索(Search in a Binary Search Tree)
问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/4102 访问. 给定二叉搜索树(BST)的根节点和一个值. 你需要 ...
- 利用Unity3D制作简易2D计算器
利用Unity3D制作简易2D计算器 标签(空格分隔): uiniy3D 1. 操作流程 在unity3DD中创建一个新项目 注意选择是2D的(因为默认3D) 在Assets框右键新建C#脚本 在新建 ...
- pycharm激活,此方法为永久激活。
1.下载JetbrainsCrack-3.1-release-enc.jar文件 链接: https://pan.baidu.com/s/1eN4paXtLVLeUN1nLP335rA 提取码: yg ...
- 数据 恢复----判断Raid盘序及校验方向
重组Raid(如何判断校验方向及盘序) 1. 常规左异结构[backward parity(反向奇偶校验--(静态))] 校验块:校验块从最后一块物理盘开始写起,然后依次往前面的盘中写入,当写到第一块 ...
- API、Win32 SDK、Win32项目、MFC、Windows窗体应用程序的区别
[原]API.Win32 SDK.Win32项目.MFC.Windows窗体应用程序的区别 首先来看一下每一个术语的定义: API:Application Programming Interface. ...
- Typescript node starter 3. App Router Controller
Request request对象表示HTTP请求,并具有请求query字符串.参数.body.HTTP headers等的属性.除了添加新的属性和方法外,还包含原型的属性和方法. 随着系列文章的发布 ...
- (趣味哈哈镜)JMF中摄像头相关的问题
JMF已经非常古老了.最近由于做实验的需要,不得不使用JMF处理视频.开发使用win10系统和eclipse.使用中的问题如下: 1.首先想要使用JMF需要必须安装32位JDK,同时编译软件也需要是3 ...