centOS下Tomcat8.5使用redis实现session共享

本篇内容主要讲述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.xuhongchang.com中下载)

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"/>

4:重启tomcat,就ok了。

发布了21 篇原创文章 · 获赞 18 · 访问量 7584

猜你喜欢

转载自blog.csdn.net/love1793912554/article/details/84554694
今日推荐