原料:jdk1.8,tomcat7,nginx1.16,memcached-1.2.6,Mem-Tomcat需要的jar包,基于windows7。所有的点击以下链接可下载

链接:https://pan.baidu.com/s/1jeO3T4ubJiz-G9TtyIOoCQ     提取码:4ckm 

nginx安装参考上一篇文章:https://www.cnblogs.com/bigdatadiary/p/10951313.html

  1.安装jdk1.8,配置环境变量

  2.解压Tomcat7(两份),分别命名为tomcat0,tomcat1,并修改端口保证两个Tomcat能正常运行

  3.安装memcached(以下简称mem),其1.4版本以下都是以服务安装,可以在系统服务中查看运行状况,安装步骤如下:

    (1):解压mem,得到一个memcached.exe文件

    (2):cmd,进入memcached.exe目录下,执行 memcached.exe -d install,安装成功是没有任何提示的。memcached.exe -d start/stop 分别为mem的服务启动和停止命令,memcached.exe -h 命令查看mem更多命令以及说明,mem使用11211端口,默认换成为512M

    (3):启动mem。

  4.配置Tomcat,将以下代码复制到两个tomcat\conf\context.xml中

<Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"
memcachedNodes="n1:localhost:11211"
sticky="false"
sessionBackupAsync="false"
sessionBackupTimeout="1000"
lockingMode="auto"
requestUriIgnorePattern=".*\.(ico|png|gif|jpg|css|js)$"
transcoderFactoryClass="de.javakaffee.web.msm.serializer.kryo.KryoTranscoderFactory"
/>

*以上配置详解

memcachedNodes

必须项

配置 memcached 节点。格式:<id>:<host>:<port>,多个节点之间,用空格或英文逗号分隔

sticky

可选项

是否粘性。默认为 true。粘性会话需要保证每个用户的请求都路由到同一台 Tomcat 服务器中。否则,需要设置成非粘性会话。

lockingMode

可选项

用于非粘性会话。默认为 none。

可选值

描述

none

不锁定 session

all

每个请求访问 session 的期间,session 一直被锁定,直到请求结束

auto

只锁定写请求的 session,只读请求的 session 不会被锁定

uriPattern:<regexp>

通过正则表达式的方式来对请求的 URI 进行匹配,匹配上的会被锁定

sessionBackupAsync

可选项

设置 session 会话中的数据是否异步同步到 memcached 中,默认为 true。

requestUriIgnorePattern

可选项

设置忽略会话同步的请求的 URI 地址的正则表达式。这应该包含静态资源的请求。

failoverNodes

可选项

memcached 故障转移节点配置。用于粘性会话,非粘性会话不可用。如:

failoverNodes="n1",含义是告诉 msm 将 session 会话中的数据存储到 memcached 的 n2 节点中,如果 n2 节点宕掉等致使其不能正常提供服务,msm 才会将 session 会话中的数据存储到 memcached 的 n1 节点中。

sessionAttributeFilter

可选项

配置同步 session 会话数据的属性名称的正则表达式。如果不设置,则将 session 中全部的属性保存到 memcached 中。

transcoderFactoryClass

可选项

配置序列化和反序列化 session 会话中的数据到 memcached 中的编码转换器的工厂类名。

默认是 de.javakaffee.web.msm.JavaSerializationTranscoderFactory

backupThreadCount

可选项

用于异步存储 session 会话中的数据到 memcached 中的线程数。(当 sessionBackupAsync="true" 时,该配置项有效)

sessionBackupTimeout

可选项

备份 session 会话数据所需时间如果大于该值,将导致 session 会话数据同步失败。默认为 100(单位毫秒)

  (5)将 Mem-Tomcat需要的jar包 放进Tomcat的lib目录下,然后新建一个ROOT文件夹,在里面建一个index.jsp文件,index.jsp文件写入以下代码,保存后点击bin/startup.bat运行tomcat,即可看到session共享成功

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>Session test</title>
</head>
<body>

Tomcat 0
<p>SessionID:<%=session.getId()%></p>
</body>
</html>

    

  

  

转载于:https://www.cnblogs.com/bigdatadiary/p/10975493.html

基于Memcached的Nginx服务器集群session共享相关推荐

  1. Nginx+memcached+tomcat配置集群session共享负载均衡

    Nginx+memcached+tomcat配置集群session共享负载均衡 配置环境: windows xp下 jdk1.7.0_10      nginx-1.2.6  (附下载)      m ...

  2. Windows7 + Nginx + Memcached + Tomcat 集群 session 共享

    一,环境说明 操作系统是Windows7家庭版(有点不专业哦,呵呵!),JDK是1.6的版本, Tomcat是apache-tomcat-6.0.35-windows-x86,下载链接:http:// ...

  3. 微服务服务器集群Session管理演进史

    点击上方"JavaEdge",关注公众号 设为"星标",好文章不错过! 应用服务器的高可用设计主要基于服务无状态这一特性,但事实上,业务总 是有状态: 在电商网 ...

  4. p2p 文件服务器集群,基于云计算P2P流媒体服务器集群部署算法.doc

    基于云计算P2P流媒体服务器集群部署算法 基于云计算P2P流媒体服务器集群部署算法 摘 要: 针对云计算数据中心网络(DCN)环境下,P2P流媒体服务器集群部署引起的较高带宽占用问题,提出了一种基于云 ...

  5. Redis解决老项目集群Session共享案例与回顾

    老项目突然之间客户要用了而且用户量还不少,后端移动端都需要给升级.第一改进的时候做了移动端与后端的服务分流,这次升级为分布式集群模式.分布式集群模式需要解决Session共享问题和数据一致性分布式锁处 ...

  6. spring-session + redis 实现集群 session 共享

    2019独角兽企业重金招聘Python工程师标准>>> 目前市面上实现session共享的方案有很多,其中比较常用的是使用Tomcat.Jetty等web服务器提供的session共 ...

  7. php 集群 session共享,Session共享:php和redis集群如何实现Session共享

    本篇文章给大家带来的内容是关于Session共享:php和redis集群如何实现Session共享,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 一.redis 数据库集群安装软件版 ...

  8. Jetty9.2.2集群Session共享

    为什么80%的码农都做不了架构师?>>>    针对Jetty就不过多的介绍了,自行研究去吧! 1.准备环境 MySQL数据库:下载地址:自行百度. jetty-distributi ...

  9. mysql集群session_Jetty9.2.2集群Session共享

    针对Jetty就不过多的介绍了,自行研究去吧! 1.准备环境 MySQL数据库:下载地址:自行百度. jetty-distribution-9.2.2:下载地址:http://download.ecl ...

最新文章

  1. centos7-yum安装与卸载
  2. Android利用Jsoup解析html 开发网站客户端小记。
  3. VSCode 启动 Vue 项目 npm install 报错
  4. Android简易实战教程--第四十七话《使用OKhttp回调方式获取网络信息》
  5. javax.servlet.jsp.PageContext cannot be resolve...
  6. SAP UI5 应用开发教程之二十一 - SAP UI5 的自定义格式器(Custom Formatter)
  7. linux循环脚本while循环,Shell脚本while、until循环语句简明教程
  8. android.os.BinderProxy cannot be cast to
  9. vm虚拟机win10无法复制文件_远程桌面无法复制粘贴传输文件解决办法
  10. 【js】event(事件对象)详解
  11. Nexpose漏扫使用步骤
  12. linux cp 复制目录下文件到另一个目录下
  13. echart 世界地图发光_echarts生成世界地图,百度echarts生成世界地图方法
  14. python url转码_URL转码,encodeURI,encodeURIComponent — 在线工具
  15. Windows开启 CPU 虚拟化 + 关闭 Hyper-V
  16. 使用Cubic备份或制作自定义通用型Ubuntu Live ISO镜像适用于 16.04 18.04 20.04 等
  17. deepin更新依赖错误_Ubuntu安装deepin-wine解决依赖问题
  18. OmniGraffle 制作表格 调整对象
  19. 如何发送工资条通知短信
  20. LQ0122 等腰三角形【打印图形】

热门文章

  1. linux执行db2的sql脚本,LinuxShell自动执行当前目录所有DB2 SQL语句
  2. python函数的特性_Python学习(007)-函数的特性
  3. php 匹配括号的个数,php 正则匹配括号内容 PHP实现正则匹配所有括号中的内容
  4. 因为某种原因阻止文本引擎初始化_网络营销外包——网络营销外包专员如何做好网站锚文本优化?...
  5. django用sqlite跟mysql_django框架学习:九. django连接mysql,sqlite
  6. typecho反序列化漏洞复现
  7. php缓存页面,PHP缓存页面函数的简单示例
  8. makefile高级应用
  9. Using Swift with Cocoa and Objective-C(Swift 2.0版):开始--基础设置-备
  10. PowerDesigner 常用配置修改