Memcached+Nginx+Tomcat实现Session共享存储

实施步骤:
1.安装三个介质:memcached,nginx,tomcat

1>安装memcached
////////begin////////
memcached-1.4.24.tar.gz
libevent-2.0.21-stable.tar.gz
./configure --prefix=/usr/local/memcached-1.4.20 --with-libevent=/usr/local/libevent-2.0.21-stable
////////end//////////
或者
yum install libevent-devel

2>安装nginx
……

3>部署Tomcat
……

2.分别配置如下:

1>Tomcat配置

a.提供jar包,放在${Tomcat_Home}/lib下
////////////begin////////
couchbase-client-1.2.0.jar
kryo-1.03.jar
kryo-serializers-0.10.jar
memcached-session-manager-1.6.5.jar
memcached-session-manager-tc7-1.6.5.jar
minlog-1.2.jar
msm-kryo-serializer-1.6.5.jar
spymemcached-2.10.2.jar
////////////end//////////
注意:各版本严格按列表来,其中,【spymemcached-2.10.2.jar】要求最低是2.10.2
【kryo-serializers-0.10.jar】要求最低是0.10。
否则,会提示ClassNotFound或者NoSuchMethod之类的错误。

b.修改配置文件,${Tomcat_Home}/conf/server.xml
//////////begin////////
<Context path="/bb" docBase="E:\work\apache-tomcat-7.0.59\webcode\bb" reloadable="false" crossContext="true">
<!-- using kryo serializer -->
<Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"
memcachedNodes="n1:192.168.1.190:11211 n2:192.168.1.209:11311"
requestUriIgnorePattern=".*\.(png|gif|jpg|css|js|ico|jpeg|htm|html)$"
sessionBackupAsync="true"
sessionBackupTimeout="100"
transcoderFactoryClass="de.javakaffee.web.msm.serializer.kryo.KryoTranscoderFactory"
copyCollectionsForSerialization="true" />
</Context>
//////////end//////////
注意:
>>memcachedNodes:memcached服务器信息,多个服务器时,使用空格分开,如:【n1:192.168.1.190:11211 n2:192.168.1.209:11311】
>>如果需要集合类对象,如:ArrayList,ConcurrentHashMap等做序列化,需要开启两个参数如:【copyCollectionsForSerialization="true"】和【sessionBackupAsync="true"】


2>Nginx配置
如果nginx端口号不是默认的80时,需要redirect,如下:
///////begin////////
proxy_redirect http://192.168.1.190 http://192.168.1.190:88;
///////end//////////

3>Memcached启动
memcached -d -m 2048 -l 192.168.1.190 -p 11211 -u root

【Monitor】
/////////////begin//////////
stats
STAT pid 27915
STAT uptime 87784
STAT time 1446039210
STAT version 1.4.24
STAT libevent 1.4.13-stable
STAT pointer_size 64
STAT rusage_user 1.295803
STAT rusage_system 1.131827
STAT curr_connections 5
STAT total_connections 36
STAT connection_structures 9
STAT reserved_fds 20
STAT cmd_get 64
STAT cmd_set 26
STAT cmd_flush 0
STAT cmd_touch 0
STAT get_hits 3
STAT get_misses 61
STAT delete_misses 0
STAT delete_hits 8
STAT incr_misses 0
STAT incr_hits 0
STAT decr_misses 0
STAT decr_hits 0
STAT cas_misses 0
STAT cas_hits 0
STAT cas_badval 0
STAT touch_hits 0
STAT touch_misses 0
STAT auth_cmds 0
STAT auth_errors 0
STAT bytes_read 7185
STAT bytes_written 1815
STAT limit_maxbytes 2147483648
STAT accepting_conns 1
STAT listen_disabled_num 0
STAT threads 4
STAT conn_yields 0
STAT hash_power_level 16
STAT hash_bytes 524288
STAT hash_is_expanding 0
STAT malloc_fails 0
STAT bytes 1055
STAT curr_items 3
STAT total_items 21
STAT expired_unfetched 0
STAT evicted_unfetched 0
STAT evictions 0
STAT reclaimed 0
STAT crawler_reclaimed 0
STAT crawler_items_checked 0
STAT lrutail_reflocked 0
END
/////////////end////////////

猜你喜欢

转载自can-do.iteye.com/blog/2252557