事实证明 这位作者提在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. Flutter 容器 (1) - Center

    Center容器用来居中widget import 'package:flutter/material.dart'; class AuthList extends StatelessWidget { ...

  2. 【高阶版】Python词典

    使用dict.fromkeys()创建词典的一个坑 创建词典有三种方法,第一是直接赋值,d = {1:2, 2:3}:第二个是,通过构造方法,d = dict([(1, 2), (2, 3)]),第三 ...

  3. JavaScript 基础四

    遍历对象的属性 for...in 语句用于对数组或者对象的属性进行循环操作. for (变量 in 对象名字) { 在此执行代码 } 这个变量是自定义 符合命名规范 但是一般我们 都写为 k 或则 k ...

  4. 聊一聊mycat数据库集群系列之双主双重实现

    最近在梳理数据库集群的相关操作,现在花点时间整理一下关于mysql数据库集群的操作总结,恰好你又在看这一块,供一份参考.本次系列终结大概包括以下内容:多数据库安装.mycat部署安装.数据库之读写分离 ...

  5. JavaScript学习系列博客_31_JavaScript Math 工具类

    Math - Math属于一个工具类,它不需要我们创建对象(例如Date日期对象需要通过构造函数创建对象 var 变量=new Date(),Math不需要),它里边封装了属性运算相关的常量和方法 我 ...

  6. MyISAM 和InnoDB的区别

    InnoDB和MyISAM是许多人在使用MySQL时最常用的两个表类型,这两个表类型各有优劣,视具体应用而定.基本的差别为:MyISAM类型不支持事务处理等高级处理,而InnoDB类型支持.MyISA ...

  7. 鼠标放上时显示隐藏的div或者其他代码的“jquery”的三种写法和“JavaScript”的一种写法

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  8. python安装numpy、scipy、gensim以及报错unable to import 'smart_open.gcs', disabling that module处理

    首先,安装gensim库,必须先安装numpy+mkl和scipy 安装顺序是依次安装numpy+kml.scipy.gensim,根据自己Python下载的版本进行下载 如果你的库里面有numpy. ...

  9. 开始进行lammps手册的学习啦,跟着Manual一边翻译一边做吧!(转载)

    转载自:http://blog.sina.com.cn/s/blog_64813e370100ngsz.html 注明:黄色部分基本上为不懂的部分,红色字体为所做注释 一.各种文件的介绍: 1 in ...

  10. PHP学习中的一些总结(持续更新)

    文件上传部分 在前台的<form>表单中 hidden隐藏域的MAX_FILE_SIZE可以起到实质性的控制作用,即在文件上传之前就可以判断文件的大小,格式为: <form acti ...