tomcat7 + redis + nginx 实现session共享
来源:互联网 发布:环保行业 知乎 编辑:程序博客网 时间:2024/06/06 00:38
本文中是在一台Linux的虚拟机上,有一台Nginx做负载均衡,后端挂接了两台Tomcat服务器,且每台Tomcat的Session会话都保存到Redis数据库中。
所有的tomcat都是从redis读、写会话数据。
当某个tomcat宕机了,Nginx会自动把请求转到活动的tomcat中;
当增加tomcat服务时,所有的请求会话是从redis中获取的,能够获取用户的session所有信息。
这样就可以无缝的将用户请求切换到新的服务中,对用户来说是无感知的。
1、数据准备
tomcat7、redis3.0.4、 nginx
必要jar包准备:
commons-pool2-2.4.2.jar
jedis-2.9.0.jar
tomcat7-redis-session-manager-2.0.0.jar github下载
用于Session测试的test.war包
一个简单的session增删查的web程序
上述jar包的下载地址:https://pan.baidu.com/s/1jHMyOwm
2、redis 搭建
《 redis hello world 及设置 》
3、nginx 负载均衡
《nginx 的反向代理和负载均衡入门》
4、Tomcat 配置
4.1、配置Context.xml
在《nginx 的反向代理和负载均衡入门》 基础上,配置Context.xml,添加如下内容,具体的host和port由自己的环境决定。
两个tomcat的Context.xml 都要配置哦。
下面这是redis单机的tomcat配置
<Valve className="com.orangefunction.tomcat.redissessions.RedisSessionHandlerValve" /> <Manager className="com.orangefunction.tomcat.redissessions.RedisSessionManager" host="localhost" port="6379" database="0" maxInactiveInterval="60" />
Sentinel配置:
<!-- Sentinel 配置 --><Valve className="com.orangefunction.tomcat.redissessions.RedisSessionHandlerValve" /> <Manager className="com.orangefunction.tomcat.redissessions.RedisSessionManager" maxInactiveInterval="60"sentinelMaster="mymaster"sentinels="127.0.0.1:26379,127.0.0.1:26380,127.0.0.1:26381,127.0.0.1:26382"/>其外如果有redis设置了密码,则要配置password="密码"等参数。
4.2 lib 配置
在上面的3个jar包放到两个 tomcat/lib 包下4.3 启动服务
重启两个 tomcat。确保存tomcat正确运行,没有报错。
redis、nginx服务也确保在正常运行。
5、测试
5.1 部署test.war
将test.war放到两个tomcat 的 webapps 下面,重启tomcat服务
5.2 访问 test 服务
访问地址: http://tomcat.taotao.com/test/
5.3 在test 测试session
向session中添加或删除 key-value值,尽管访问地址变化着,但是session ID 及session中存放的其它的值是不变。
- tomcat7 + redis + nginx 实现session共享
- Nginx+Tomcat7+redis实现session共享
- nginx+tomcat7+redis实现tomcat集群session共享
- redis+tomcat7实现session共享
- Tomcat7+redis 实现session共享
- nginx+redis+tomcat7集群session共享
- NGINX + TOMCAT7 + MEMCACHED 实现SESSION 共享
- NGINX + TOMCAT7 + MEMCACHED 实现SESSION 共享
- NGINX + TOMCAT7 + MEMCACHED 实现SESSION 共享
- Redis实现Tomcat7+JDK7 session共享
- tomcat7 redis session 共享
- Tomcat7+redis Session共享
- tomcat7 redis session 共享
- tomcat7 redis session 共享
- tomcat7 redis session 共享
- tomcat7 redis session 共享
- tomcat7 redis session 共享
- 分布式集群实现负载均衡和Session共享~多个Tomcat7+Nginx+Redis的session共享实现
- 基于HTML5 SVG可互动的3D标签云jQuery插件
- 【JavaScript】(1)JavaScript语法简单概述及其使用方式
- 布局神器 table-row table-cell
- Subsets
- 算法和数据结构是程序的第一秘诀,缺之算法和数据结构是编程的最大原因
- tomcat7 + redis + nginx 实现session共享
- adb 命令学习(1)
- Sublime Text 使用介绍、全套快捷键及插件推荐
- 创建/修改 android 证书
- Java 正则表达式
- apache ab性能测试工具的使用(Web并发测试)
- C++对象的构建__浅拷贝与深拷贝
- Selenium框架搭建—安装TestNG
- 关于text-align:center的浏览器兼容问题