Tomcat8 + Redis实现session集中管理


 
环境准备:
 
  • 部署两台 tomcat 8.0 
 
  • 安装 redis 服务器 
 
 
 
环境搭建:
 
 
  • 修改tomcat目录下的conf/context.xml,在其中加入下面代码,注意修改ip和端口
 
  <Valve className="com.demo.redis_session.RedisSessionHandlerValve" />
  <Manager className="com.demo.redis_session.RedisSessionManager"
  host="127.0.0.1"
  port="6379"
  database="0"
  maxInactiveInterval="60" />
 
 
简单测试:(访问两台tomcat服务器首页,并显示session)
 
  • 启动redis服务器
 
  • 修改两个tomcat目录下webapps/ROOT/index.jsp,加入红色部分的代码
 
<body>
<div>Tomcat 1</div>
<div><%= session.getId()%></div>
  <div id="wrapper">
 
  • 删除index.jsp的下面session配置的红色部分代码,开启session
 
<%@ page session="false" pageEncoding="UTF-8" contentType="text/html; charset=UTF-8" %>
 
  • 修改tomcat目录下的conf/sever.xml配置文件,改动部分见红色代码(tomcat1 端口前加1,tomcat2端口前加2)
 
<Server port="18005" shutdown="SHUTDOWN">
  <Listener className="org.apache.catalina.startup.VersionLoggerListener" />
...
<Connector port="18080" protocol="HTTP/1.1"
  connectionTimeout="20000"
  redirectPort="8443" />
...
<Connector port="18009" protocol="AJP/1.3" redirectPort="8443" />
 
  • 启动两台tomcat
 
  • 打开浏览器访问tomcat1和tomcat2的首页(期望结果:两个页面显示的session id相同)
 
     localhost:18080
 
     localhost:28080
 
  • 开启redis客户端,输入下面内容(期望结果:redis中存在页面相同session id的key)
 
keys *
 
 
 
 
 
 
 
 
 
 
 
参考文章:
posted @ 2017-02-16 17:25  二十六度半  阅读(4712)  评论(0编辑  收藏  举报