nginx+tomcat+memcached session共享
月落我未生
9年前
来自: http://blog.csdn.net/isresultxal/article/details/50697416
我的环境:
ip:192.168.1.150(这是一台linux服务器 80端口是nginx端口 8085端口是tomcat项目端口) ip:192.168.1.130(这是一台windows服务器 8085端口是tomcat端口) 我的memacahed装在Windows下的,两个tomcat共用一个memacached节点
运行结果
通过访问192.168.1.150:80端口可以通过权重分发服务器 比如:第一次敲192.168.1.150:80反向代理的是192.168.1.150:8085项目 这个时候进行登录,登录信息放在session里面 第二次敲192.168.1.150:80反向代理的是192.168.1.130:8085项目... 第二次不需要再进行登录了,已经登录成功 就是两个tomcat的session信息共享了
需要的jar包
我的windows服务器下的tomcat是6.0的
我的linux服务器下的tomcat是7.0的
所以jar包是不一样的
把下载的jar包放在你的tomcat文件夹的lib里面,每个tomcat节点都要放
修改tomcat下的service文件(我的memcached节点在192.168.1.130:11211)
<Context path="" docBase="项目路径" reloadable="false"> <Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager" memcachedNodes="n1:192.168.1.130:11211" sticky="false" lockingMode="auto" sessionBackupAsync="false" sessionBackupTimeout="100" requestUriIgnorePattern=".*\.(ico|png|gif|jpg|css|js)$" copyCollectionsForSerialization="ture" transcoderFactoryClass="de.javakaffee.web.msm.serializer.kryo.KryoTranscoderFactory" /> </Context>
如果你每个tomcat都有一个memached节点
memcachedNodes="n1:192.168.1.130:11211 n2:192.168.1.131:11211 n3:192.168.1.132:11211"
重启每个tomcat节点
展示效果