编程技术分享平台

网站首页 > 技术教程 正文

centOS下Tomcat使用redis实现session共享

xnh888 2024-09-30 04:50:56 技术教程 32 ℃ 0 评论

本篇内容主要讲述Tomcat8使用redis实现session共享,涉及的nginx,tomcat等软件安装和部署不再详细叙述。

1:环境准备。

我使用的阿里云的centOS7,已经安装了nginx,配置了默认策略的负载均衡。并部署了2个tomcat服务,一台redis。

2:我自己写了一个简单的demo来确认session是否一致,其实就是个简单的jsp页面。在这个步骤,用同一个浏览器访问同一地址,页面输出的sessionId应该是不一致的。

<%@ page language="java" contentType="text/html; charset=utf-8"
 pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 <title>tomcat8081</title>
 </head>
 <body>
 tomcat8081: <% out.println(pageContext.getSession().getId()); %>
 </body>
 </html>

3:使用redis实现session共享需要用到3个jar包。(相关jar可以在www.xhc66.cn中的资源下载中一起获得)

commons-pool2-2.3.jar

jedis-2.7.3.jar

tomcat-redis-session-manager-master-2.0.0.jar

4:将jar包分别放入到两个tomcat的lib下。分别将两个tomcat的conf目录中的context.xml文件加以修改,在context的节点下加入以下配置:

<Valve className="com.naritech.nicole.gump.RedisSessionHandlerValve" />
<Manager className="com.naritech.nicole.gump.RedisSessionManager"
 host="localhost"
 port="6379"
 password="" // 需要指定,nginx刚安装完,默认是没有密码的,需要自己取redis.conf中修改。
 database="0" // 需要保持一致
 maxInactiveInterval="60"/>

5:重启tomcat,测试,ok!亲自使用测试过!

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表