事实证明 这位作者提在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 配置的更多相关文章

  1. Tomcat三实例cluster多播方案共享session再配置

    昨天已经将两实例cluster多播方案共享Session配置成功,其中的关键就在于server.xml中,engine->channel->receiver节点中address得写成自己的 ...

  2. linux下实现redis共享session的tomcat集群

    为了实现主域名与子域名的下不同的产品间一次登录,到处访问的效果,因此采用rediss实现tomcat的集群效果.基于redis能够异步讲缓存内容固化到磁盘上,从而当服务器意外重启后,仍然能够让sess ...

  3. Nginx+tomcat集群使用redis共享session

    一 :nginx负载均衡 当Tomcat当做独立的Servlet容器来运行时,可看做是能运行Java Servlet的独立Web服务器. 此外 Tomcat还可以作为其他Web服务器进程内或者进程外的 ...

  4. Tomcat7.0.99集群使用Redis共享session方案

    以前配置过给予多播的session共享方案,这回再配置一个redis共享session的. 先小小的炫耀一下: 相信大家要做Tomcat+Redis+session配置,遇到的头号麻烦就是编译的tom ...

  5. SpringBoot,Security4, redis共享session,分布式SESSION并发控制,同账号只能登录一次

    由于集成了spring session ,redis 共享session,导致SpringSecurity单节点的session并发控制失效, springSession 号称 无缝整合httpses ...

  6. Spring Boot 使用 Redis 共享 Session 代码示例

    参考资料 博客:spring boot + redis 实现session共享 1. 新建 Maven 工程 我新建 spring-boot-session-redis maven 工程 2. 引入 ...

  7. 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 ...

  8. 一篇文章让你深透理解cookie和session,附带分布式WEB系统redis共享session方案

    cookie和session有什么区别?这是一个很基础的知识点,大家可能都知道一个大概:cookie是存在客户端的,session是存储在服务端,cookie和session用来验证识别用户的登录状态 ...

  9. SessionStateMode之Redis共享session

    周六的时候用SQL Server来实现session共享,今天下班早就试了下使用Redis来实现session共享.接着上一篇博客,上一篇使用sessionState节点mode="SQLS ...

随机推荐

  1. JAVA三种多线程实现方法和应用总结

    最近在做代码优化时学习和研究了下JAVA多线程的使用,看了菜鸟们的见解后做了下总结.1.JAVA多线程实现方式JAVA多线程实现方式主要有三种:继承Thread类.实现Runnable接口.使用Exe ...

  2. 【AHOI 2015】 小岛 - 最短路

    描述 西伯利亚北部的寒地,坐落着由 N 个小岛组成的岛屿群,我们把这些小岛依次编号为 1 到 N . 起初,岛屿之间没有任何的航线.后来随着交通的发展,逐渐出现了一些连通两座小岛的航线.例如增加一条在 ...

  3. SVN的基本使用

    2020年7月6日 为什么需要版本控制? 需要清晰地保存某些文件的不同修订版本 控制文件的发屐过程,找出导致 BUG 的原因 轻松将项目或文件恢复到指定版本 极大方便团队之间协同开发,防止出现混乱 在 ...

  4. 非确定性有穷状态决策自动机练习题Vol.3 D. Dp搬运工3

    非确定性有穷状态决策自动机练习题Vol.3 D. Dp搬运工3 题目描述 给定两个长度为 \(n\) 的排列,定义 \(magic(A,B)=∑_{i=1}^nmax(Ai,Bi)\) . 现在给定 ...

  5. linux驱动之内核多线程(四)

    本文摘自 http://www.cnblogs.com/zhuyp1015/archive/2012/06/13/2548494.html 自己创建的内核线程,当把模块加载到内核之后,可以通过:ps ...

  6. Java面试通关要点汇总整理

    简历篇 请自我介绍 请介绍项目 基础篇 基本功 面向对象的特征 final, finally, finalize 的区别 int 和 Integer 有什么区别 重载和重写的区别 抽象类和接口有什么区 ...

  7. 初识ABP vNext(5):ABP扩展实体

    Tips:本篇已加入系列文章阅读目录,可点击查看更多相关文章. 目录 前言 开始 扩展实体 路由整理 最后 前言 上一篇实现了前端vue部分的用户登录和菜单权限控制,但是有一些问题需要解决,比如用户头 ...

  8. Kernel methods on spike train space for neuroscience: a tutorial

    郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布! 时序点过程:http://www.tensorinfinity.com/paper_154.html Abstract 在过去的十年中,人 ...

  9. 区块链入门到实战(38)之Solidity – 条件语句

    Solidity支持条件语句,让程序可以根据条件执行不同的操作.条件语句包括: if if...else if...else if 语法 if (条件表达式) { 被执行语句(如果条件为真) } 示例 ...

  10. 初始化文章分类的方法 下拉的layui框

    触发时机:页面加载完毕之后 实现步骤: 1.利用$.ajax()发起请求 (找接口文档) 2.在success成功回调里面获取服务器返回的数据,判断一下返回的success是否是0. 3.如果不是0, ...