nginx+tomcat+memcached session共享

我的环境:

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节点都要放
nginx+tomcat+memcached session共享_第1张图片

修改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>

nginx+tomcat+memcached session共享_第2张图片

如果你每个tomcat都有一个memached节点

    memcachedNodes="n1:192.168.1.130:11211 n2:192.168.1.131:11211 n3:192.168.1.132:11211" 

重启每个tomcat节点

展示效果
nginx+tomcat+memcached session共享_第3张图片
nginx+tomcat+memcached session共享_第4张图片

你可能感兴趣的:(tomcat,memcached)