热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

Redis+Nginx+Tomcat实现Session共享

:本篇文章主要介绍了Redis+Nginx+Tomcat实现Session共享,对于PHP教程有兴趣的同学可以参考一下。
资源下载

  • tomcat-redis-session-manager:https://github.com/jcoleman/tomcat-redis-session-manager/downloads
  • CentOS-6.5-64位下搭建jdk7 + mysql5.5 + tomcat7 + nginx环境搭建
  • 搭建nginx + tomcat 集群,请查阅《Tomcat集群与Session共享 + Nginx负载》
  • Redis搭建,请查阅《Centos6.5安装redis3.0.7》
  • 本地下载: jedis-2.2.1.jar+commons-pool-1.6.jar+tomcat-redis-session-manager-1.2-tomcat-7.jar

实现

  • 还原两个Tomcat下的conf/server.xml配置,尤其是以下节点中,不要加jvmRoute。
<Enginename="Catalina"defaultHost="localhost">?

若加上jvmRoute,会导致redis内容占用过大,jvmRoute会被循环复制进redis中,导致内存爆满。如下图:
Redis+Nginx+Tomcat实现Session共享

  • 修改两个tomcat配置文件conf/context.xml
<ValveclassName="com.radiadesign.catalina.session.RedisSessionHandlerValve" /><ManagerclassName="com.radiadesign.catalina.session.RedisSessionManager"host="192.168.25.132"port="6379"database="0"maxInactiveInterval="60" />

上述方式是整个Tomcat都采用redis保存Session,我们也可以使用在conf\Catalina\localhost下加入一个xml启动项目,此时是单独对该项目采用redis,如加入一个ROOT.xml,代码如下:

<Contextpath="/"docBase="F:\learn\tomcat\ewebsite"debug="0"privileged="true"><ValveclassName="com.radiadesign.catalina.session.RedisSessionHandlerValve" /><ManagerclassName="com.radiadesign.catalina.session.RedisSessionManager"host="192.168.25.132"port="6379"database="0"maxInactiveInterval="60" />Context>
  • 在Tomcat的lib下加入对应的jar
    Redis+Nginx+Tomcat实现Session共享

测试

测试方式请参考《Tomcat集群与Session共享 + Nginx负载》
同时查看Redis中的keys,已将SessoionId保存,可以flushdb清空redis数据,SessoionId将改变
Redis+Nginx+Tomcat实现Session共享

').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i <= lines; i++) { $numbering.append($('
  • ').text(i)); }; $numbering.fadeIn(1700); }); });

    以上就介绍了Redis+Nginx+Tomcat实现Session共享,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

  • 推荐阅读
    • binlog2sql,你该知道的数据恢复工具
      binlog2sql,你该知道的数据恢复工具 ... [详细]
    • 我的读书清单(持续更新)201705311.《一千零一夜》2006(四五年级)2.《中华上下五千年》2008(初一)3.《鲁滨孙漂流记》2008(初二)4.《钢铁是怎样炼成的》20 ... [详细]
    • 本文详细介绍如何在华为鲲鹏平台上构建和使用适配ARM架构的Redis Docker镜像,解决常见错误并提供优化建议。 ... [详细]
    • Centos7 Tomcat9 安装笔记
      centos7,tom ... [详细]
    • ArcBlock 发布 ABT 节点 1.0.31 版本更新
      2020年11月9日,ArcBlock 区块链基础平台发布了 ABT 节点开发平台的1.0.31版本更新,此次更新带来了多项功能增强与性能优化。 ... [详细]
    • 本文回顾了作者在求职阿里和腾讯实习生过程中,从最初的迷茫到最后成功获得Offer的心路历程。文中不仅分享了个人的面试经历,还提供了宝贵的面试准备建议和技巧。 ... [详细]
    • 七大策略降低云上MySQL成本
      在全球经济放缓和通胀压力下,降低云环境中MySQL数据库的运行成本成为企业关注的重点。本文提供了一系列实用技巧,旨在帮助企业有效控制成本,同时保持高效运作。 ... [详细]
    • H5技术实现经典游戏《贪吃蛇》
      本文将分享一个使用HTML5技术实现的经典小游戏——《贪吃蛇》。通过H5技术,我们将探讨如何构建这款游戏的两种主要玩法:积分闯关和无尽模式。 ... [详细]
    • Docker安全策略与管理
      本文探讨了Docker的安全挑战、核心安全特性及其管理策略,旨在帮助读者深入理解Docker安全机制,并提供实用的安全管理建议。 ... [详细]
    • CRZ.im:一款极简的网址缩短服务及其安装指南
      本文介绍了一款名为CRZ.im的极简网址缩短服务,该服务采用PHP和SQLite开发,体积小巧,约10KB。本文还提供了详细的安装步骤,包括环境配置、域名解析及Nginx伪静态设置。 ... [详细]
    • 龙蜥社区开发者访谈:技术生涯的三次蜕变 | 第3期
      龙蜥社区的开发者们通过自己的实践和经验,推动着开源技术的发展。本期「龙蜥开发者说」聚焦于一位资深开发者的三次技术转型,分享他在龙蜥社区的成长故事。 ... [详细]
    • 电商高并发解决方案详解
      本文以京东为例,详细探讨了电商中常见的高并发解决方案,包括多级缓存和Nginx限流技术,旨在帮助读者更好地理解和应用这些技术。 ... [详细]
    • 本文介绍了 PHP 的基本概念、服务器与客户端的工作原理,以及 PHP 如何与数据库交互。同时,还涵盖了常见的数据库操作和安全性问题。 ... [详细]
    • GreenPlum采纳ShareNothing的架构,良好的施展了便宜PC的作用。自此IO不在是DW(datawarehouse)的瓶颈,相同网络的压力会大很多。然而GreenPlum的查问优化策略可能防止尽量少的网络替换。对于首次接触GreenPlum的人来说,必定耳目一新。 ... [详细]
    • 整理于2020年10月下旬:总结过去,展望未来Itistoughtodayandtomorrowwillbetougher.butthedayaftertomorrowisbeau ... [详细]
    author-avatar
    mobiledu2502924293
    这个家伙很懒,什么也没留下!
    PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
    Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有