一、准备主机一台nginx主机,两台Tomcat主机
nginx主机为阿里云主机
Tomcat为两台腾讯云主机
二、在其中一台Tomcat中安装Memcached服务
[root@fengling ~]# yum -y install libevent memcached Complete! 成功
Memcached参数介绍
-h #查看帮助信息 -p #指定memcached服务的默认端口号 默认11211 -i #memcached服务我的IP地址 -u #memcache程序运行时使用的身份必须是root用户 -m #指定使用本机的多少物理内存存数据 默认64M -c #memcached服务的最大连接数 -vvv #显示详细信息 -n #chunk size的最小空间是多少单位字节 -f #chunk size 大小增长的倍数 默认1.25倍 -d #在后台启动
三、根据自己主机内存情况,启动memcached服务
[root@fengling ~]# memcached -m 512 -u root -c 512 -n 10 -f 2 -d -vvv #其中一台主机的具体执行信息 [root@fengling ~]# slab class 1: chunk size 64 perslab 16384 slab class 2: chunk size 128 perslab 8192 slab class 3: chunk size 256 perslab 4096 slab class 4: chunk size 512 perslab 2048 slab class 5: chunk size 1024 perslab 1024 slab class 6: chunk size 2048 perslab 512 slab class 7: chunk size 4096 perslab 256 slab class 8: chunk size 8192 perslab 128 slab class 9: chunk size 16384 perslab 64 slab class 10: chunk size 32768 perslab 32 slab class 11: chunk size 65536 perslab 16 slab class 12: chunk size 131072 perslab 8 slab class 13: chunk size 262144 perslab 4 slab class 14: chunk size 524288 perslab 2 slab class 15: chunk size 1048576 perslab 1 <26 server listening (auto-negotiate) <27 server listening (auto-negotiate) <28 send buffer was 212992, now 268435456 <29 send buffer was 212992, now 268435456 <28 server listening (udp) <29 server listening (udp) <28 server listening (udp) <29 server listening (udp) <28 server listening (udp) <29 server listening (udp) <28 server listening (udp) <29 server listening (udp)
查看端口是否开启
[root@fengling ~]# netstat -lnupt | grep 11211 tcp 0 0 0.0.0.0:11211 0.0.0.0:* LISTEN 21212/memcached tcp6 0 0 :::11211 :::* LISTEN 21212/memcached udp 0 0 0.0.0.0:11211 0.0.0.0:* 21212/memcached udp6 0 0 :::11211 :::* 21212/memcached
四、在另一台Tomcat主机安装Telnet测试memcached服务是否可用
[root@fengling ~]# telnet 106.52.62.67 11211 Trying 106.52.62.67... Connected to 106.52.62.67. Escape character is '^]'. set username 0 0 8 zhangsan STORED get username VALUE username 0 8 zhangsan END # 0 0 8 第一个0表示下标从0开始 允许有0位或8位
五、让Tomcat通过(msm)连接到memcached
将session包中的*.jar文件复制到/usr/local/tomcat/lib下(两台主机一样,都配置)
#上传session包文件 [root@fengling ~]# rz z waiting to receive.**B0100000023be50 [root@fengling ~]# ls apache-tomcat-7.0.54.tar.gz Tomcat7-Memcached_JAR包.zip #解压后复制 [root@fengling ~]# cd Tomcat7-Memcached JAR░№/ [root@fengling Tomcat7-Memcached JAR░№]# cp ./* /usr/local/tomcat/lib/
编辑Tomcat配置文件,两台机器一样
如果成功,tomcat与Memcached 端口会连在一起,前后有变化
[root@fengling ~]# netstat -anupt |grep java tcp6 0 0 127.0.0.1:8005 :::* LISTEN 2655/java tcp6 0 0 :::8009 :::* LISTEN 2655/java tcp6 0 0 :::8080 :::* LISTEN 2655/java tcp6 0 0 172.21.0.4:51866 106.52.62.67:11211 ESTABLISHED 2655/java tcp6 0 0 172.21.0.4:51874 106.52.62.67:11211 ESTABLISHED 2655/java tcp6 0 0 172.21.0.4:51876 106.52.62.67:11211 ESTABLISHED 2655/java tcp6 0 0 172.21.0.4:51870 106.52.62.67:11211 ESTABLISHED 2655/java tcp6 0 0 172.21.0.4:51868 106.52.62.67:11211 ESTABLISHED 2655/java
六、编写测试文件让其获取sessionID号
[root@fengling ~]# vim /usr/local/tomcat/webapps/ROOT/session.jsp Session ID:<%= session.getId() %>
SessionPort:<%= request.getServerPort() %> <% out.println("This tomcat server 106.52.62.67");%> [root@fengling ~]# vim /usr/local/tomcat/webapps/ROOT/session.jsp Session ID:<%= session.getId() %>
SessionPort:<%= request.getServerPort() %> <% out.println("This tomcat server 49.232.149.234");%>
测试
发现sessionID没有变化,表示成功
这里只用了一台session服务器,并不可靠,一般会搭建多台,步骤如上



