tomcat集群redis配置session共享
来源:互联网 发布:邪恶漫画软件大全 编辑:程序博客网 时间:2024/06/08 14:14
针对之前的nginx+tomcat的负载均衡机制,因为会出现session丢失的问题,特研究了下redis的session共享;下载JDK7、tomcat7以备后续测试;
一、下载tomcat-redis-session的源码自行打包:https://github.com/jcoleman/tomcat-redis-session-manager
这里要对tomcat-redis-session打包做一下特殊记录:
上图中的构建pom.xml。
<?xml version="1.0" encoding="GB2312"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.hik</groupId><artifactId>tomcat-redis-session</artifactId><!--<packaging>war</packaging>--><version>0.0.1-SNAPSHOT</version><dependencies><dependency><groupId>org.apache.tomcat</groupId><artifactId>tomcat-catalina</artifactId><version>7.0.27</version></dependency><dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId><version>2.7.2</version></dependency> </dependencies><build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.0</version><configuration><source>1.7</source><target>1.7</target><encoding>UTF-8</encoding></configuration></plugin></plugins></build></project>
由于我们的环境都是基于7系列来运行的,所以必须保持一致;
二、下载安装redis(linxu版本)
wget http://redis.googlecode.com/files/redis-2.4.6.tar.gz
解压:
tar –zxvfredis-2.4.6.tar.gz
编译
需要说明的事,redis的安装非常简单,已经有现成的Makefile文件,直接运行make命令即可。
make
make install
安装成功后直接启动redis:redis-server/etc/redis.conf,如图
新开窗口redis-cli测试:
Set a 123
Get a 得到123 安装成功可以使用
三、上边源码自己打包生成tomcat-redis-session.jar包,从网上下载jedis-2.7.2.jar commons-pool2-2.4.1.jar;将这3个包放入tomcat\lib目录下;
四、配置tomcat\conf下的context.xml文件
将以下代码添加进context.xml里边
<!-- tomcat-redis-session共享配置 --> <ValveclassName="com.orangefunction.tomcat.redissessions.RedisSessionHandlerValve"/> <ManagerclassName="com.orangefunction.tomcat.redissessions.RedisSessionManager" host="localhost" port="6379" database="0" maxInactiveInterval="60" />
五、tomcat测试session共享配置
准备两个tomcat模拟,每个配置都跟上边一样,然后
Tomcat18080 webapp/index.jsp修改:<% request.getSession().setAttribute(“a”,”123”);%>
Tomcat28090 webapp/index.jsp 修改:<% out.print(request.getSession().getAttribute(“a”))%>
六、测试整个环境:
服务器记得先启动redis!
启动tomcat1,访问http://localhost:8080/index.jsp
启动tomcat2,访问 http://localhost:8090/index.jsp,可看到页面显示123,证明session共享成功。
七、可能会出现的错误
Tomcat可能启动不正常,最大的原因是jar包没用对应的版本,本人测试可以用的相关jar版本是commons-pool2-2.3,jedis-2.7.2。
tomcat-redis-session-manager-master.jar如果不能用就按文档自己重新打包。如果有其他错误(比如java.lang.UnsupportedClassVersionError)
的话就去检查下启动指定jdk是否为1.7,
如果报错xml文件如果读取错误(Invalid byte 1 of 1-byte UTF-8 sequence)就修改context.xml中 encoding="GB2312"?>,
其他错误基本上都跟jar版本和运行环境相关,请认真检查。
- tomcat集群redis配置session共享
- redis集群共享session配置
- Tomcat 集群配置 Session共享
- apache+tomcat集群session共享-redis服务器
- tomcat集群基于redis共享session解决方案
- linux-tomcat-session共享-redis集群
- nginx+tomcat+redis的集群+session共享
- 基于Redis的Tomcat集群Session共享
- tomcat集群-基于redis的session共享
- Nginx+Tomcat+Redis搭建共享SESSION集群
- redis实现tomcat集群session共享
- redis集群 实现 tomcat session 共享
- tomcat集群共享session(nginx+redis)
- tomcat集群-基于redis的session共享
- Apache+Tomcat集群配置+session共享
- Apache+Tomcat集群配置+session共享
- tomcat 集群配置,Session复制共享
- Apache+Tomcat集群配置+session共享
- 读《美国纽约摄影学院摄影教材》上册
- 【转】MIME类型
- 涨跌停尔虞我诈
- WebSocket心跳机制和代码
- Linux基本命令(二)
- tomcat集群redis配置session共享
- mysql语句记录
- JBoss AS / JBoss EAP / wildfly 区别
- HDU
- progress & thread
- 数据挖掘十大算法--K-均值聚类算法
- HTML5新增的属性--01
- Dagger2入门-基本使用(上)
- 枚举—案例(讨厌的青蛙poj1054)