安装说明,参见官方文档:http://code.google.com/p/memcached/wiki/NewInstallFromSource
Prereqs
You'll likely need to install the development package for libevent
1、下载http://libevent.org/ 最新稳定版libevent-2.0.21-stable.tar.gz
1、安装 libevent
# tar zxvf libevent-2.0.21-stable.tar.gz
# cd libevent-2.0.21-stable
# ./configure –prefix=/usr
# make
# make install
测试libevent是否安装成功:
默认是安装在 /usr/local/lib目录下的.
# ls -al /usr/lib | grep libevent
lrwxrwxrwx. 1 root root 21 Jan 13 17:47 libevent-2.0.so.5 -> libevent-2.0.so.5.1.9
-rwxr-xr-x. 1 root root 968770 Jan 13 17:47 libevent-2.0.so.5.1.9
-rw-r--r--. 1 root root 1571722 Jan 13 17:47 libevent.a
lrwxrwxrwx. 1 root root 26 Jan 13 17:47 libevent_core-2.0.so.5 -> libevent_core-2.0.so.5.1.9
-rwxr-xr-x. 1 root root 585313 Jan 13 17:47 libevent_core-2.0.so.5.1.9
-rw-r--r--. 1 root root 978426 Jan 13 17:47 libevent_core.a
-rwxr-xr-x. 1 root root 970 Jan 13 17:47 libevent_core.la
......
2、安装memcache
下载memcached 地址:http://code.google.com/p/memcached/downloads/list
#tar -zxvf memcached-1.x.x.tar.gz
#cd memcached-1.x.x
Config
Optional install destination
If your compiling from source you likely want to specify a destination directory as well, replace /usr/local/memcached with whatever you fancy.
#./configure -with-libevent=/usr/
#make && make test
#sudo make install
测试memcache是否安装成功
# ls -al /usr/local/bin/mem*
-rwxr-xr-x. 1 root root 260977 Jan 13 17:54 /usr/local/bin/memcached
启动:
# /usr/local/bin/memcached -d -c 1024 -m 1024 -u root
若出现
/usr/local/bin/memcached: error while loading shared libraries: libevent-2.0.so.5: cannot open shared object file: No such file or directory
我们要知道memcached去是哪些目录查找libevent动态库的,这里用这个命令
#LD_DEBUG=libs memcached -v
26887: find library=libevent-2.0.so.5 [0]; searching
26887: search cache=/etc/ld.so.cache
26887: search path=/lib64/tls/x86_64:/lib64/tls:/lib64/x86_64:/lib64:/usr/lib64/tls/x86_64:/usr/lib64/tls:/usr/lib64/x86_64:/usr/lib64 (system
search path)
26887: trying file=/lib64/tls/x86_64/libevent-2.0.so.5
26887: trying file=/lib64/tls/libevent-2.0.so.5
26887: trying file=/lib64/x86_64/libevent-2.0.so.5
26887: trying file=/lib64/libevent-2.0.so.5
26887: trying file=/usr/lib64/tls/x86_64/libevent-2.0.so.5
26887: trying file=/usr/lib64/tls/libevent-2.0.so.5
26887: trying file=/usr/lib64/x86_64/libevent-2.0.so.5
26887: trying file=/usr/lib64/libevent-2.0.so.5
26887:
memcached: error while loading shared libraries: libevent-2.0.so.5: cannot open shared object file: No such file or directory
我们得知memcached查找动态库的位置是 /lib64 和 /usr/lib64/,所以我们只需把libevent-2.0.so.5 链接到这两个目录就可以了
#ln -s /usr/local/lib/libevent-2.0.so.5 /usr/lib64/libevent-2.0.so.5
查看memcache进程
#ps aux|grep memcached
root 26912 0.2 0.0 326700 1004 ? Ssl 18:13 0:00 /usr/local/bin/memcached -d -c 1024 -m 1024 -u root
root 26919 0.0 0.0 103240 820 pts/1 S+ 18:13 0:00 grep memcached