服务器之家

服务器之家 > 正文

Tomcat Nginx Redis实现session共享过程图解

时间:2021-09-14 16:51     来源/作者:与李

一、准备工作

中间件:tomcat、redis、nginx

jar包:commons-pool2-2.4.2.jar、jedis-2.8.0.jar、tomcat-redis-session-manager-2.0.0.jar

二、配置tomcat

多台tomacat需要配置不同的端口号

/lib

将jar包存放到此位置

/conf/server.xml

Tomcat Nginx Redis实现session共享过程图解

Tomcat Nginx Redis实现session共享过程图解

/conf/context.xml

Tomcat Nginx Redis实现session共享过程图解

host为redis的ip地址,port为端口,database为数据库。

nginx

/conf/nginx.conf

Tomcat Nginx Redis实现session共享过程图解

upstream意为配置服务器列表,本例中开启了两台tomcat,端口分别为8080与9999。

proxy_pass意为配置代理服务器。

此配置意为监听本地(192.168.0.113)的80端口,并将请求以轮询方式转发给8080和9999的tomcat服务器。

redis

redis不需要特殊配置,启动即可。

三、测试

先后启动redis服务、两台tomcat服务器、nginx服务器。

在tomcat启动页面加上标识,判断两台服务器中sessionid是否一致。

/webapps/root/index.jsp:

Tomcat Nginx Redis实现session共享过程图解

四、结果

Tomcat Nginx Redis实现session共享过程图解

Tomcat Nginx Redis实现session共享过程图解

如果f5刷新页面不能切换端口对应的页面,可能是由于浏览器缓存造成。

解决方法:清除缓存刷新,alt+f5

此时可看到多个tomcat服务在不断轮询,且sessionid一致。

再用redis桌面管理工具查看信息:

Tomcat Nginx Redis实现session共享过程图解

可以看到session信息已经交给redis管理。

实现成功 。

五、弊端

此种方式依赖于tomcat容器,如果中间件换成jetty或者其他,就不受用。

还有一种较好实现方式:spring session + redis

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。

原文链接:https://www.cnblogs.com/yl-space/p/13229878.html

标签:

相关文章

热门资讯

yue是什么意思 网络流行语yue了是什么梗
yue是什么意思 网络流行语yue了是什么梗 2020-10-11
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
背刺什么意思 网络词语背刺是什么梗
背刺什么意思 网络词语背刺是什么梗 2020-05-22
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总 2020-11-13
2021年耽改剧名单 2021要播出的59部耽改剧列表
2021年耽改剧名单 2021要播出的59部耽改剧列表 2021-03-05
返回顶部