Linux下的Memcache安裝 由于memcached安裝時(shí),需要使用libevent類(lèi)庫(kù),所以先安裝libevent
libevent下載網(wǎng)址:http://www.monkey.org/~provos/libevent/
本手冊(cè)中下載的是 libevent-1.4.8-stable.tar.gz版本安裝步驟如下:
1. 解壓縮
tar xzfv libevent-1.4.8-stable.tar.gz
2. 進(jìn)入到 libevent-1.4.8-stable目錄
cd libevent-1.4.8-stable
3. 編譯,安裝
./configure
make
make install
注:默認(rèn)安裝到/usr/local/lib/ 目錄
接下來(lái),安裝memcached
memcached下載網(wǎng)址:http://www.danga.com/memcached/download.bml
本手冊(cè)中下載的是 memcached-1.2.6.tar.gz版本
安裝步驟如下:
1. 解壓縮
tar xzfv memcached-1.2.6.tar.gz
2. 進(jìn)入到 memcached-1.2.6目錄
cd memcached-1.2.6
3. 編譯,安裝
./configure --prefix=/local/memcached
make
make install
安裝完成后,會(huì)在 /local/memcached 出現(xiàn) bin和share目錄
進(jìn)行 bin目錄,啟動(dòng) memcache
方法如下:
./memcached -d -u nobody -m 512 127.0.0.1 -p 11211
此時(shí),會(huì)報(bào)一個(gè)異常
error while loading shared libraries: libevent-1.4.so.2: cannot open shared object file: No such file or directory
原因是找不到libevent-1.4.so.2類(lèi)庫(kù),解決辦法如下:
使用LD_DEBUG=help ./memcached -v來(lái)確定 加載的類(lèi)庫(kù)路徑,方法如下:
LD_DEBUG=libs ./memcached -v 2>&1 > /dev/null | less
則系統(tǒng)會(huì)顯示:
<!-- <br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->linux:/local/memcached/bin # LD_DEBUG = libs ./memcached -v 2 >& 1 > /dev/null | less
20421 : find library = libevent- 1.4 .so .2 ; searching
20421 : search cache = /etc/ld.so.cache
20421 : 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)
20421 : trying file = /lib/tls/i686/sse2/libevent- 1.4 .so .2
20421 : trying file = /lib/tls/i686/libevent- 1.4 .so .2
20421 : trying file = /lib/tls/sse2/libevent- 1.4 .so .2
20421 : trying file = /lib/tls/libevent- 1.4 .so .2
20421 : trying file = /lib/i686/sse2/libevent- 1.4 .so .2
20421 : trying file = /lib/i686/libevent- 1.4 .so .2
20421 : trying file = /lib/sse2/libevent- 1.4 .so .2
20421 : trying file = /lib/libevent- 1.4 .so .2
20421 : trying file = /usr/lib/tls/i686/sse2/libevent- 1.4 .so .2
20421 : trying file = /usr/lib/tls/i686/libevent- 1.4 .so .2
20421 : trying file = /usr/lib/tls/sse2/libevent- 1.4 .so .2
20421 : trying file = /usr/lib/tls/libevent- 1.4 .so .2
20421 : trying file = /usr/lib/i686/sse2/libevent- 1.4 .so .2
20421 : trying file = /usr/lib/i686/libevent- 1.4 .so .2
20421 : trying file = /usr/lib/sse2/libevent- 1.4 .so .2
20421 : trying file = /usr/lib/libevent- 1.4 .so .2
20421 :
./memcached: error while loading shared libraries: libevent- 1.4 .so .2 : cannot open shared object file: No such file or directory
我們看到,memcached會(huì)到很多地方去找,所以根據(jù)其它求,我們只需建一個(gè)軟鏈接,指定到我們安裝的類(lèi)庫(kù)上即可
方法如下:
ln -s /usr/local/lib/libevent-1.4.so.2 /lib/libevent-1.4.so. 2
現(xiàn)在可以正常啟動(dòng)memcached了
./memcached -d -u nobody -m 512 127.0.0.1 -p 11211
到這里,看到memcached已經(jīng)啟動(dòng),說(shuō)明安裝成功。
如果要結(jié)束Memcache進(jìn)程,執(zhí)行:
# kill `cat /tmp/memcached.pid`
也可以啟動(dòng)多個(gè)守護(hù)進(jìn)程,不過(guò)端口不能重復(fù)。
memcache啟動(dòng)參數(shù)說(shuō)明:
-d選項(xiàng)是啟動(dòng)一個(gè)守護(hù)進(jìn)程,
-m是分配給Memcache使用的內(nèi)存數(shù)量,單位是MB,我這里是10MB,
-u是運(yùn)行Memcache的用戶(hù),我這里是root,
-l是監(jiān)聽(tīng)的服務(wù)器IP地址,如果有多個(gè)地址的話(huà),我這里指定了服務(wù)器的IP地址192.168.0.200,
-p是設(shè)置Memcache監(jiān)聽(tīng)的端口,我這里設(shè)置了12000,最好是1024以上的端口,
-c選項(xiàng)是最大運(yùn)行的并發(fā)連接數(shù),默認(rèn)是1024,我這里設(shè)置了256,按照你服務(wù)器的負(fù)載量來(lái)設(shè)定,
-P是設(shè)置保存Memcache的pid文件,我這里是保存在 /tmp/memcached.pid