基于redis实现会话保持

环境描述:

192.168.140.10 nginx

192.168.140.11 tomcat服务器 两个tomcat实例

192.168.140.12 redis服务器 三个redis实例,一主两从实例

192.168.140.13 redis哨兵

1、配置ngix实现tomcat负载均衡

2、配置tomcat实例

第二个实例要更改的地方和上方一致

增加执行权限

进行启动

测试页面

<%@ 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>你好</title>

</head>

<%for(int i=1;i<=6;i++){ %>

<h<%=i%> align="center">欢迎访问 tomcat 1 jsp页面!</

h<%=i%>>

<%} %>

<body>

<center>

<%= request.getSession().getId() %>

</body>

</html>

3、通过nginx访问tomcat,此时tomcat会话ID是非持久的

4、配置redis一主两从环境

1)安装redis2.6
2)配置 redis多实例

3)配置一主多从

7003同上

4)验证一主多从成功
5、配置哨兵
1) 安装redis 2.6

2) 复制哨兵配置文件
3) 编辑配置文件

4) 启动哨兵

需要使用redis-sentiner命令来启动哨兵在redis解压目录里为方便使用拷贝到redis安装目录bin目录中

6、配置tomcat连接redis哨兵保存会话

1)将jar包复制到tomcat

2)编辑tomcat实例配置文件,指定redis集群的信息

在Context标签中添加配置信息

<Valve className="com.orangefunction.tomcat.redissessions.RedisSessionHandlerValve" />

<Manager className="com.orangefunction.tomcat.redissessions.RedisSessionManager"

maxInactiveInterval="60"

sentinelMaster="mymaster"

sentinels="192.168.140.13:26379"

/>

第二个实例同上

7、测试访问nginx,查看会话ID是否一致

相关推荐
小光学长1 小时前
基于vue框架的防疫科普网站0838x(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
数据库
极限实验室1 小时前
使用 Docker Compose 简化 INFINI Console 与 Easysearch 环境搭建
数据库·docker·devops
飞翔的佩奇1 小时前
Java项目:基于SSM框架实现的旅游协会管理系统【ssm+B/S架构+源码+数据库+毕业论文】
java·数据库·mysql·毕业设计·ssm·旅游·jsp
float_六七3 小时前
SQL六大核心类别全解析
数据库·sql·oracle
Code季风5 小时前
将 gRPC 服务注册到 Consul:从配置到服务发现的完整实践(上)
数据库·微服务·go·json·服务发现·consul
Boilermaker19925 小时前
【Java EE】SpringIoC
前端·数据库·spring
来自宇宙的曹先生5 小时前
用 Spring Boot + Redis 实现哔哩哔哩弹幕系统(上篇博客改进版)
spring boot·redis·后端
mmsx5 小时前
使用git生成ssh的ed25519密钥
运维·git·ssh
荔枝吻5 小时前
【保姆级喂饭教程】Git图形化客户端Sourcetree安装及使用教程
git·sourcetree
霸王龙的小胳膊5 小时前
泛微虚拟视图-数据虚拟化集成
数据库