nginx+tomcat+memcached session共享

来自: 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的

下载地址: http://download.csdn.net/detail/isresultxal/9436493

我的linux服务器下的tomcat是7.0的

下载地址: http://download.csdn.net/detail/isresultxal/9436495

所以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节点

展示效果

</div>