本文共 3015 字,大约阅读时间需要 10 分钟。
参考:
Magent代理服务器:192.168.1.6
Memcache服务器:192.168.1.7Memcache服务器安装配置:
首先:配置本地YUM源,挂载光驱,安装编译器
yum install gcc gcc-c++
1、编译安装libevent:
wget http://monkey.org/~provos/libevent-1.4.9-stable.tar.gztar zxvf libevent-1.4.9-stable.tar.gzcd libevent-1.4.9-stable/mkdir /usr/local/libevent./configure --prefix=/usr/local/libeventmake && make install
2、编译安装Memcached:
wget http://danga.com/memcached/dist/memcached-1.2.6.tar.gztar zxvf memcached-1.2.6.tar.gzcd memcached-1.2.6/mkdir /usr/local/memcached./configure --prefix=/usr/local/memcached --with-libevent=/usr/local/libeventmake && make install
3、启动memcached服务器:
/usr/local/memcached/bin/memcached -m 100 -u root -d -l 127.0.0.1 -p 11211
在启动memcached时报错:/usr/local/memcached/bin/memcached: error while loading shared libraries: libevent-1.4.so.2: cannot open shared object file: No such file or directory
解决方案:
1. 首先 find / -name libevent-1.4.so.2 找到缺少的链接文件到底在那儿。
2. LD_DEBUG=libs /usr/local/bin/memcached -v
3. 做一个软连接 ln -s /usr/local/lib/libevent-1.4.so.2 /usr/lib/libevent-1.4.so.2
就ok了!
memcache代理服务器magent安装配置(192.168.1.6):
1、 magent是一款开源的Memcached代理服务器软件,其项目网址为:http://code.google.com/p/memagent/ 目前最新版本为0.6 2、 安装,先配置本地源,挂载光驱,安装编译器
Yum install gcc gcc-c++ libgnomeui-devel
3、 编译安装libevent:
wget http://monkey.org/~provos/libevent-1.4.9-stable.tar.gz //下载安装libeventtar zxvf libevent-1.4.9-stable.tar.gzcd libevent-1.4.9-stable/mkdir /usr/local/libevent./configuremake && make install
4、安装magent
mkdir /usr/local/magent cp ./magent-0.6.tar.gz /usr/local/magent cd /usr/local/magent tar xzvf ./magent-0.6.tar.gz /sbin/ldconfig sed -i "s/LIBS = -levent/LIBS = -levent -lm/g" Makefile make
magent.c:729: 错误:‘SSIZE_MAX’未声明(在此函数内第一次使用)
magent.c:729: 错误:(即使在一个函数内多次出现,每个未声明的标识符在其 magent.c:729: 错误:所在的函数内也只报告一次。) make: *** [magent.o] 错误 1 解决方案: #在ketama.h开头加入(过滤掉特殊字符)#ifndef SSIZE_MAX#define SSIZE_MAX 32767#endif
继续make
cp magent /usr/bin/
启动memagent:
/usr/bin/magent -u root -n 4096 -l 192.168.1.246 -p 12000 -s 192.168.1.247:11211 -b 192.168.1.249:11211
PHP开启扩展php_memcache.Dll注意版本的问题:
//phpinfo(); //查看扩展是否开启$mem = new Memcache();//直接连接代理服务器$mem->connect('192.168.1.246',12000) or die('connect fail!'); echo "connect success!"; for($i=0;$i<10;$i++){ if($mem->set('key'.$i , 'data'.$i , 0 , 3600)){ echo "set ok!"; }else{ echo "set false!"; }}
报错提示: Notice: Memcache::set(): Server 192.168.1.246 (tcp 12000) failed with: Failed reading line from stream (0) 原因是:代理magent没有连接到memcached服务器
解决方案: 启动memcached的时候,不能使用 –l 127.0.0.1或者-l localhost,要设置当前IP/usr/local/memcached/bin/memcached -m 100 -u root -d -l 192.168.1.247 -p 11211
memcached的一些参数:
-d install 安装memcached
-d uninstall 卸载memcached -d start 启动memcached服务 -d restart 重启memcached服务 -d stop 停止memcached服务 -d shutdown 停止memcached服务检查服务:
1、查看启动的memcache服务:
netstat -lp | grep memcached
2、查看memcache的进程号(根据进程号,可以结束memcache服务:“kill -9 进程号”)
ps -ef | grep memcached