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 ...
随机推荐
- [问题记录] webpack devServer HtmlWebpackPlugin 没有加载 js、css
webpack devServer 没有加载 js.css HtmlWebpackPlugin runtimeChunks 注入问题. 描述 写了一个极其简单的多页面 demo 启动开发服务器,发现样 ...
- 《RabbitMQ》什么是死信队列
一 什么是死信队列 当一条消息在队列中出现以下三种情况的时候,该消息就会变成一条死信. 消息被拒绝(basic.reject / basic.nack),并且requeue = false 消息TTL ...
- mybatis(mysql)代码生成器扩展
前些天在做我的KSF框架的时候需要用到mybatis代码生成器, 但是发现有一些东西需要调整,主要集中在以下几点: 1. 加入batchInsert 2. 加入batchUpdate 3. mysq ...
- Java Redis系列1 关系型数据库与非关系型数据库的优缺点及概念
Java Redis系列1 关系型数据库与非关系型数据库的优缺点及概念 在学习redis之前我们先来学习两个概念,即什么是关系型数据库什么是非关系型数据库,二者的区别是什么,二者的关系又是什么? ** ...
- C#LeetCode刷题之#453-最小移动次数使数组元素相等(Minimum Moves to Equal Array Elements)
问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/3877 访问. 给定一个长度为 n 的非空整数数组,找到让数组所有 ...
- C#LeetCode刷题之#202-快乐数(Happy Number)
问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/3856 访问. 编写一个算法来判断一个数是不是"快乐数& ...
- 听说同学你搞不懂Java的LinkedHashMap,可笑
先看再点赞,给自己一点思考的时间,微信搜索[沉默王二]关注这个有颜值却假装靠才华苟且的程序员.本文 GitHub github.com/itwanger 已收录,里面还有我精心为你准备的一线大厂面试题 ...
- 虚拟化技术之kvm管理工具virsh常用基础命令(二)
上一篇博客我们主要聊了下virsh 管理kvm虚拟机的命令相关用法和说明,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/13508231.html:今天我们来继 ...
- Nginx同时支持Http和Https
现在的网站支持Https几乎是标配功能,Nginx能很好的支持Https功能.下面列举一个配置同时支持Http和Https的功能. 需要注意的是:既然选择使用Https,就是为了保证通信安全,那么就没 ...
- 【Hyeri】上传本地代码到Github
个人摸索出的上传本地代码到Github的办法 首先配置SSH Key(首次需要配置) 1.设置本地ssh key,打开git bash,输入命令: ssh -keygen -t rsa -C &quo ...