tomcat中配置memcached,共享session

Memcached Session Manager

简称msm

memcached 安装与使用

1. 编译安装,先要有gcc (yum -y install gcc)
2. 安装libevent: ./configure --prefix=/opt/libevent; make && make install
3. 安装memcached: ./configure --prefix=/opt/memcached --with-libevent=/opt/libevent/; make && make install

启动memcached: /opt/memcached/bin/memcached -d -u root -m 128 -p 11211 -c 1024
-d 后台进程
-u 启动用户
-m 使用内存大小
-p 使用端口
-c 最大连接数


msm配置

1. 复制jar包到tomcat/lib目录,jar分三类

1)spymemcached.jar memcached java客户端

2)msm相关的包
memcached-session-manager-{version}.jar 核心包
memcached-session-manager-tc{tomcat-version}-{version}.jar Tomcat版本相关的包


3)序列化工具包,有多种可选方案,不设置时使用jdk自带序列化,其它可选kryo,javolution,xstream,flexjson等
msm-{tools}-serializer-{version}.jar
其它序列化工具相关包 一般第三方序列化工具不需要实现serializable接口

2. 配置Context,加入处理session的Manager MemcachedBackupSessionManager
Context配置查找顺序:
1)conf/context.xml 全局配置,作用于所有应用
2) conf/[enginename]/[hostname]/context.xml.default 全局配置,作用于指定host下全部应用
3) conf/[enginename]/[hostname]/[contextpath].xml 只作用于contextpath指定的应用
4) 应用META-INF/context.xml 只作用于本应用
5) conf/server.xml <Host>下 作用于Context docBase指定的应用
所以,只希望session管理作用于特定应用,最好用3,4方式设置,希望作用全体,可用1,2,5设置


3.在server.xml文件中找到<Context></Context>,将一下配置放入到该标签:

<!-- 经常用到的生产环境sticky模式配置 -->
<Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"
memcachedNodes="n1:(memcached1),n2:(memcached2)"
failoverNodes="n1" #在另一个tomcat中改为n2,
requestUriIgnorePattern=".*\.(jpg|png|css|js)$"
memcachedProtocol="binary"
transcoderFactoryClass="de.javakaffee.web.msm.serializer.kryo.KryoTranscoderFactory"
/>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值