在部署生产环境时建议采用此方式

memcached依赖libevent,因此必须先编译安装 libevent。两者都需要安装在2.6以上内核版本的GNU/Linux系统中。编译前,请先确认gcc、make、patch等编译工具是否已安装,并可正常使用。

(1) 编译源代码

获取libevent

从libevent的官方站点(http://www.monkey.org/~provos/libevent/)下载最新版本,或使用文件服务器上的libevent-2.0.10-stable.tar.gz

编译、安装libevent

#tar -zxvf libevent-x.x.x-stable.tar.gz

#cd libevent-x.x.x-stable

#./configure && make && make install &&

获取memcached

#wget http://memcached.org/latest

或使用文件服务器上的memcached-1.4.5.tar.gz

编译、安装memcached

#tar -zxvf memcached-1.x.x.tar.gz

#cd memcached-1.x.x

#./configure --prefix=/usr/local/memcached --with-libevent=/usr/local

#make

#make install

(2) 启动memcached服务器

#cd /usr/local/memcached/bin

#./memcached -d -m 50 -p 11211 -u root

参数说明:-m 指定使用多少兆的缓存空间;-p 指定要监听的端口; -u 指定以哪个用户来运行

参数解释:

-d 以守护程序(daemon)方式运行 memcached;

-m 设置memcached可以使用的内存大小,单位为M;

-l 设置监听的IP地址,如果是本机的话,通常可以不设置此参数;

-p 设置监听的端口,默认为11211,所以也可以不设置此参数;

-u 指定用户,如果当前为root的话,需要使用此参数指定用户。

(3) Troubleshooting

在安装完成之后,启动memcached时有可能会出现以下错误:

./memcached: error while loading shared libraries: libevent-2.0.so.5: cannot open shared object file: No such file or directory

系统无法定位libevent库,此时可以用如下方法解决问题:

ln -s /usr/local/lib/libevent-2.0.so.5.0.1 /lib/libevent-2.0.so.5

如果是64位操作系统,需要指向/lib64目录

ln -s /usr/local/lib/libevent-2.0.so.5.0.1 /lib64/libevent-2.0.so.5