Apache Tomcat 群集使用 Memcached 实现 Session 共享安装部署指南

教程发布:风哥 教程分类:ITPUX技术网 更新日期:2022-02-12 浏览学习:492

一.安装memcached1.windows下安装memcached需要到一个网站下载memcached的for win 32版本.在memcached的官方网站我是找不到的.我看了下,提供win版下载的是一个个人网站,老外的.应该是他自己用src编译的.下载到只有几十K大小(我也吓了跳,还以为是病毒).安装后确实能用.我尝试在本帖提供附件下载.下载后输入命令安装命令:c:\memcached\memcached.exe-d install然后再输入如下命令把其作为win service常驻启动:c:\memcached\memcached.exe-d start其他详细的并没做了,因为部署在win上只是暂时开发测试用的,最终会部署在linux版本上.2.linux下安装memcached1.下载包1.1.到http://memcached.org/]http://memcached.org/下载linux下的memcached的安装包.1.2.到http://libevent.org/]http://libevent.org/ 下载安装memcached前比需要的包https://github.com/downloads/libevent/libevent/libevent-2.0.15-stable.tar.gz]libevent-2.0.15 我安装的是这个版本.2.安装https://github.com/downloads/libevent/libevent/libevent-2.0.15-stable.tar.gz]libevent-2.0.15https://github.com/downloads/libevent/libevent/libevent-2.0.15-stable.tar.gz]# tar zxvflibevent-2.0.5-beta.tar.gz
https://github.com/downloads/libevent/libevent/libevent-2.0.15-stable.tar.gz]# cd libevent-2.0.5
https://github.com/downloads/libevent/libevent/libevent-2.0.15-stable.tar.gz]# ./configure –prefix=/usr
https://github.com/downloads/libevent/libevent/libevent-2.0.15-stable.tar.gz]# make
https://github.com/downloads/libevent/libevent/libevent-2.0.15-stable.tar.gz]# make install如果中间出现报错,请仔细检查错误信息,按照错误信息来配置或者增加相应的库或者路径。(网上照搬.中间我只是出现过没有GCC的情况)

3.安装memcachedtar zxvf memcached-1.4.2.tar.gz cd memcached-1.4.2 ./configure --with-libevent=/usr make makeinstall如果中间出现报错,请仔细检查错误信息,按照错误信息来配置或者增加相应的库或者路径。
安装完成后会把memcached放到 /usr/local/bin/memcached,4.测试是否成功安装memcached:

# ls-al /usr/local/bin/mem*成功的话,会输出一些相关信息。

5.启动memcached网上有一个命令很长的方法,可以我启动后进程是出现了,但就是不监听11211的端口.继续寻找终于找到一个可行的了.2个命令如下:5.1我使用的,可行的命令memcached -d -m 128 -l localhost -p 11211 -uroot (其中Localhost是指监听本机器的端口.)5.2网上很多,但我使用却失败的命令/usr/local/bin/memcached -d -m 10 -u root -llocalhost -p 12000 -c 256 -P /tmp/memcached.pid

6.给出memcached启动命令参数详解.-d选项是启动一个守护进程,-m是分配给Memcache使用的内存数量,单位是MB,我这里是10MB,-u是运行Memcache的用户,我这里是root,-l是监听的服务器IP地址,如果有多个地址的话,我这里指定了服务器的IP地址192.168.0.200,-p是设置Memcache监听的端口,我这里设置了12000,最好是1024以上的端口,-c选项是最大运行的并发连接数,默认是1024,我这里设置了256,按照你服务器的负载量来设定,-P是设置保存Memcache的pid文件,我这里是保存在 /tmp/memcached.pid,-p 使用的TCP端口。默认为11211-m 最大内存大小。默认为64M-vv 用veryvrebose模式启动,调试信息和错误输出到控制台-d 作为daemon在后台启动如果要结束Memcache进程,执行:# kill `cat/tmp/memcached.pid`或是 通过ps -ef| grep memcached 找到pid ,然后kill也可以启动多个守护进程,不过端口不能重复。# ps -ef | grep memcachedroot 28914 1 0 07:27 ? 00:00:00 memcached -d -m 128 -l localhost-p 11211 -u root (启动ok)6.测试memcached#telnet localhost 11211Trying 127.0.0.1...Connected to localhost.localdomain (127.0.0.1).

二.调用的包可从http://code.google.com/p/memcached-session-manager/downloads/list]http://code.google.com/p/memcached-session-manager/downloads/list下载所需要的包.需要注意的是,你只能从该网站下载到 memcached-session-manager-1.5.1.jar / memcached-session-manager-tc6-1.5.1.jar / msm-javolution-serializer-1.5.1.jar这3个包,还有2个包分别是 : memcached-2.5.jar / javolution-5.5.1.jar这2个包,需要自己另外下载哦.都是放到tomcat/lib下.

三.环境本人使用的是tomcat6 + memcached-session-manager,首先是在windows下测试的.以后将部署在Linux环境下

四.TOMCAT配置网上有好多的版本,甚至在memcached-session-manager的wiki中都是在tomcat的conf/context.xml下配置.但本人是在server.xml中配置到需要session共享的host中.配置见如下:[html] http://blog.csdn.net/ichsonx/article/details/6911358#]view plainhttp://blog.csdn.net/ichsonx/article/details/6911358#]copy
1 2 8 localhost 9 10 18 19 20
五.测试代码[html] http://blog.csdn.net/ichsonx/article/details/6911358#]view plainhttp://blog.csdn.net/ichsonx/article/details/6911358#]copy
21 <% 22 String tmp =(String)session.getAttribute("tmp"); 23 if(tmp == null || tmp == ""){ 24 session.setAttribute("tmp","iam created in tomcat 2 . my id is : "+session.getId()); 25 tmp =(String)session.getAttribute("tmp"); 26 out.println(" null now to createdvalue !"); 27 out.println("
"); 28 out.println(tmp); 29 System.out.println(tmp); 30 }else{ 31 out.println(tmp); 32 System.out.println(tmp); 33 } 34 %>

六.测试结果无论你从哪个tomcat浏览该jsp的打印信息(只要不关浏览器或者浏览器的标签),获得的sessionid都是一样的,证明是同一个session,并且共享了. 本文web地址:[url]http://blog.163.com/wangdj@188/blog/static/555636602012214433277/

本文标签:
网站声明:本文由风哥整理发布,转载请保留此段声明,本站所有内容将不对其使用后果做任何承诺,请读者谨慎使用!
【上一篇】
【下一篇】