1.通过环境
本文档基于windows环境实现,测试通过环境:
- Windows Server 2012 R2 Datacenter 64位
- Tomcat-8.5.30-windows-x64
- Redis-x64-3.0.504
- tomcat-cluster-redis-session-manager2.0.4
2.安装redis
redis项目地址:https://github.com/MicrosoftArchive/redis/releases
Redis-x64-3.0.504.zip下载地址:win-3.0.504/Redis-x64-3.0.504.zip
安装完后,进入安装目录打开cmd命令行,输入redis-server.exe redis.windows.conf ,就可以启动redis
3.准备tomcat
准备两个tomcat,打开tomcat/conf/server.xml,把里面的三个端口号修改成不同的,不产生冲突就可以了。
4.下载tomcat-cluster-redis-session-manager
项目地址:https://github.com/ran-jit/tomcat-cluster-redis-session-manager/wiki
2.0.4版下载地址:
5.配置插件
把下载的tomcat-cluster-redis-session-manager,加压后
5.1放置jar包
把下载的jar文件(jedis.jar、 commons-pool2.jar、 commons-logging.jar)放到tomcat/lib/下
5.2添加系统变量
添加系统变量catalina.base,其值为TOMCAT_LOCATION
5.3放置redis-data-cache.properties
把redis-data-cache.properties放到tomcat/conf/下,可以按自己需求修改redis-data-cache.properties
5.4修改context.xml
在tomcat/conf/context.xml中,增加以下内容
<Valve className="tomcat.request.session.redis.SessionHandlerValve" />
<Manager className="tomcat.request.session.redis.SessionManager" />
5.5修改web.xml
修改tomcat/conf/web.xml文件中的<session-config>节点,如下面所示
<session-timeout>60<session-timeout>
6.验证
在两个的tomcat的tomcat\apache-tomcat-8.5.30\webapps\ROOT目录下放入如下的jsp文件,
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<title>session</title>
</head>
<body>
<%String s = session.getId(); //获取session ID号 %>
<%=s %>
<%
session.setAttribute("clj1", "clj20150527");
%>
</body>
</html>
然后启动两个tomcat服务,分别进入两个tomcat的jsp测试页面,看到两个sessioin一样就成功了。