本文章来给各位同学介绍关于tomcat利用memcache解决session共享问题,希望此方法对各位同学有帮助。
1.说明
主要是利用memcached-session-manager开源tomcat插件改变tomcat原始的session存储机制,将session的存储放到分布式缓存memcache中,从而实现对session的共享
2.安装包下载
memcache-session-manager在tomcat6上所需jar包
这是将msm官方的jar打了一个zip包方便下载使用
memcache-session-manager官方下载地址
memcache下载见memcache安装
3.环境描述
系统:centos 5.x
需要的软件:
tomcat-6.0.20
memcache-session-manager-1.4.0
4.安装配置步骤
4.1 安装memcache见memcache安装
4.2 安装tomcat6见linux nginx负载均衡/图片缓存 tomcat集群/session共享3.5部分
4.3 安装配置msm
将下载的msm-tomcat6-all-dependence.zip解压,将解压出来的jar包拷贝到tomcat6/lib目录下
修改tomcat6/conf/context.xml文件
在添加如下配置:
memcachedNodes="n1:localhost:11211"
requestUriIgnorePattern=".*.(png|gif|jpg|css|js)$"
transcoderFactoryClass="de.javakaffee.web.msm.serializer.kryo.KryoTranscoderFactory"
/>
启动tomcat,会发现日志中包含初始化msm的日志,且未出现异常表示插件安装成功
注意:tomcat5,tomcat6, tomcat7的插件包不一样,请详细阅读memcache-session-manager官方wiki,网上看到的一篇配置文章可能是tomcat5的配置,用其方法在tomcat6上配置后session共享不正常.