1、安裝 libevent
wget http://monkey.org/~provos/libevent-1.3b.tar.gz
tar -zxf libevent-1.3b.tar.gz
cd libevent-1.3b
./configure –prefix=/Data/libevent
make
make install
2、安裝 memcached
wget http://www.danga.com/memcached/dist/memcached-1.2.2.tar.gz
tar -zxf memcached-1.2.2.tar.gz
cd memcached-1.2.2
./configure –prefix=/Data/memcached –with-libevent=/Data/libevent/
make
make install
3、安裝php的memcache擴充
cd /Data/php/bin/
./pecl install memcache
安裝完成後系統提醒:You should add “extension=memcache.so” to php.ini
修改 php.ini
增加 extension=no-debug-non-zts-20060613/memcache.so
測試 /Data/php/bin/php -l
4、啟動 memcached
# /Data/memcached/bin/memcached -d -m 1024 -p 11211 -u root
/Data/memcached/bin/memcached -d -m 1024 -p 11211 -l 10.0.0.40 -u root
參數說明 -m 指定使用多少兆的緩衝空間 -l 主機名稱 -p 指定要監聽的連接埠 -u 指定以哪個使用者來運行
如果遇到運行memcached時遇到問題,錯誤提示如下:
/Data/memcached/bin/memcached: error while loading shared libraries: libevent-1.3b.so.1: cannot open shared object file: No such file or directory
則運行 LD_DUBUG=libs 就可以知道memcached啟動時庫的載入路徑。具體如下:
LD_DEBUG=libs /Data/memcached/bin/memcached -v
21404: find library=libpthread.so.0 [0]; searching
21404: search cache=/etc/ld.so.cache
21404: trying file=/lib/tls/libpthread.so.0
21404:
21404: find library=libevent-1.3b.so.1 [0]; searching
21404: search cache=/etc/ld.so.cache
21404: search path=/lib/tls/i686/sse2:/lib/tls/i686:/lib/tls/sse2:/lib/tls:/lib/i686/sse2:/lib/i686:/lib/sse2:/lib:/usr/lib/tls/i686/sse2:/usr/lib/tls/i686:/usr/lib/tls/sse2:/usr/lib/tls:/usr/lib/i686/sse2:/usr/lib/i686:/usr/lib/sse2:/usr/lib (system search path)
21404: trying file=/lib/tls/i686/sse2/libevent-1.3b.so.1
21404: trying file=/lib/tls/i686/libevent-1.3b.so.1
21404: trying file=/lib/tls/sse2/libevent-1.3b.so.1
21404: trying file=/lib/tls/libevent-1.3b.so.1
21404: trying file=/lib/i686/sse2/libevent-1.3b.so.1
21404: trying file=/lib/i686/libevent-1.3b.so.1
21404: trying file=/lib/sse2/libevent-1.3b.so.1
21404: trying file=/lib/libevent-1.3b.so.1
21404: trying file=/usr/lib/tls/i686/sse2/libevent-1.3b.so.1
21404: trying file=/usr/lib/tls/i686/libevent-1.3b.so.1
21404: trying file=/usr/lib/tls/sse2/libevent-1.3b.so.1
21404: trying file=/usr/lib/tls/libevent-1.3b.so.1
21404: trying file=/usr/lib/i686/sse2/libevent-1.3b.so.1
21404: trying file=/usr/lib/i686/libevent-1.3b.so.1
21404: trying file=/usr/lib/sse2/libevent-1.3b.so.1
21404: trying file=/usr/lib/libevent-1.3b.so.1
21404:
然後給libevent-1.3b.so.1建立一個連結:
ln -s /Data/libevent/lib/libevent-1.3b.so.1 /lib/libevent-1.3b.so.1
再啟動,OK。