栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > PHP

Session服务器之Memcached

PHP 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Session服务器之Memcached

一、准备主机一台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服务器,并不可靠,一般会搭建多台,步骤如上

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/268828.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号