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 ...
随机推荐
- ebook 电子书项目
ebook电子书网站使用eclipse开发,开发语言主体是JAVA,使用的是servlet+jsp,前端使用javascript和jQuery,页面布局设计使用的是bootstrap,在这里我记下我开 ...
- java_方法的定义、调用、重载
方法的定义 1 概述 方法:就是将一个功能抽取出来,把代码单独定义在一个大括号内,形成一个单独的功能. 当我们需要这个功能的时候,就可以去调用.这样即实现了代码的复用性,也解决了代码冗余的现象. 2 ...
- ~/.ssh/目录找不到解决方法
执行 cd ~/.ssh发现.ssh目录找不到 原因是因为没有用root用户ssh登录过,执行一下ssh操作就会自动生成了
- java循环嵌套与跳转语句(break,continue)
一 循环嵌套 嵌套循环是指在一个循环语句的循环体中再定义一个循环语句的语法结构.while.do…while. for循环语句都可以进行嵌套,并且它们之间也可以互相嵌套,如最常见的在for循环中嵌套f ...
- Linux系统安装Nginx(Centos7)
Nginx是一款轻量级的网页服务器.反向代理服务器.它最常的用途是提供反向代理服务,还可以做负载均衡.相较于Apache.lighttpd具有占有内存少,稳定性高等优势.服务端很多场景都需要使用,这篇 ...
- hdfs学习(二)
一.HDFS文件限额配置 在多人共用HDFS的环境下,配置设置非常重要.特别是在Hadoop处理大量资料的环境,如果没有配额管理,很容易把所有的空间用完造成别人无法存取.Hdfs的配额设定是针对目录而 ...
- 2020大厂web前端面试常见问题总结
本篇收录了一些面试中经常会遇到的经典面试题以及自己面试过程中遇到的一些问题.通过对本篇知识的整理以及经验的总结,希望能帮到更多的前端面试者. 1.web前端项目的结构是怎样的?文件有哪些命名规范? 项 ...
- 7、TypeScript类型、接口、类、泛型综合使用 -- TypeScript封装统一操作Mysql Mongodb Mssql的底层类库。
功能:定义一个操作数据库的库,支持Mysql Mssql Mongodb 要求:Mysql Mssql Mongodb功能一样 都有add.update.delete.get方法 注意:约束统一的规范 ...
- fatal error: glib.h: No such file or directory
在学习BLE bluez的时候,做了一个测试程序,看到gatttool.c下面有一个glib解析命令行的功能,想移植到自己的程序接口中,但是添加了#include <glib.h>后,出现 ...
- hbase运行流程图
hbase运行流程图