天天看點

centos 下memcached 建構以及php memcache安裝

centos 下memcached 建構以及php memcache安裝

memcached 與memcache的差別,請google

一、建構memcached 伺服器(memcached服務端程式的安裝)

1)memcached用到了libevent這個庫,用于Socket的處理

wget http://www.monkey.org/~provos/libevent-2.0.10-stable.tar.gz 

tar xzvf libevent-2.0.10-stable.tar.gz

cd libevent-2.0.10-stable

./configure --prefix=/usr

make && make install

驗證libevent是否正确安裝

ls -al /usr/lib |grep libevent  

[root@test /]# ls -al /usr/lib |grep libevent  

lrwxrwxrwx   1 root root      21 Feb 28 19:27 libevent-2.0.so.5 -> libevent-2.0.so.5.0.1 

-rwxr-xr-x   1 root root  943520 Feb 28 19:27 libevent-2.0.so.5.0.1 

-rw-r--r--   1 root root 1532202 Feb 28 19:27 libevent.a 

lrwxrwxrwx   1 root root      26 Feb 28 19:27 libevent_core-2.0.so.5 -> libevent_core-2.0.so.5.0.1 

-rwxr-xr-x   1 root root  554374 Feb 28 19:27 libevent_core-2.0.so.5.0.1 

-rw-r--r--   1 root root  928010 Feb 28 19:27 libevent_core.a 

-rwxr-xr-x   1 root root     971 Feb 28 19:27 libevent_core.la 

lrwxrwxrwx   1 root root      26 Feb 28 19:27 libevent_core.so -> libevent_core-2.0.so.5.0.1 

lrwxrwxrwx   1 root root      27 Feb 28 19:27 libevent_extra-2.0.so.5 -> libevent_extra-2.0.so.5.0.1 

-rwxr-xr-x   1 root root  410763 Feb 28 19:27 libevent_extra-2.0.so.5.0.1 

-rw-r--r--   1 root root  604266 Feb 28 19:27 libevent_extra.a 

-rwxr-xr-x   1 root root     978 Feb 28 19:27 libevent_extra.la 

lrwxrwxrwx   1 root root      27 Feb 28 19:27 libevent_extra.so -> libevent_extra-2.0.so.5.0.1 

-rwxr-xr-x   1 root root     936 Feb 28 19:27 libevent.la 

lrwxrwxrwx   1 root root      29 Feb 28 19:27 libevent_openssl-2.0.so.5 -> libevent_openssl-2.0.so.5.0.1 

-rwxr-xr-x   1 root root   85731 Feb 28 19:27 libevent_openssl-2.0.so.5.0.1 

-rw-r--r--   1 root root  120996 Feb 28 19:27 libevent_openssl.a 

-rwxr-xr-x   1 root root    1007 Feb 28 19:27 libevent_openssl.la 

lrwxrwxrwx   1 root root      29 Feb 28 19:27 libevent_openssl.so -> libevent_openssl-2.0.so.5.0.1 

lrwxrwxrwx   1 root root      30 Feb 28 19:27 libevent_pthreads-2.0.so.5 -> libevent_pthreads-2.0.so.5.0.1 

-rwxr-xr-x   1 root root   18094 Feb 28 19:27 libevent_pthreads-2.0.so.5.0.1 

-rw-r--r--   1 root root   18678 Feb 28 19:27 libevent_pthreads.a 

-rwxr-xr-x   1 root root     999 Feb 28 19:27 libevent_pthreads.la 

lrwxrwxrwx   1 root root      30 Feb 28 19:27 libevent_pthreads.so -> libevent_pthreads-2.0.so.5.0.1 

lrwxrwxrwx   1 root root      21 Feb 28 19:27 libevent.so -> libevent-2.0.so.5.0.1 

 2)安裝memcached

wget http://memcached.googlecode.com/files/memcached-1.4.5.tar.gz 

tar xzvf memcached-1.4.5.tar.gz  

cd memcached-1.4.5  

./configure -–with-libevent=/usr 

make && make install  

 安裝完成後,程式會将memcached 自動放到 /usr/local/bin/memcached

[root@test /]# which memcached 

/usr/local/bin/memcached 

 3)安裝PHP的memcache擴充

memcache 的項目下載下傳位址

http://pecl.php.net/package/memcache 

 安裝code

wget http://pecl.php.net/get/memcache-3.0.5.tgz 

tar xf memcache-3.0.5.tgz 

cd memcache-3.0.5 

./configure --enable-memcache --with-php-config=/usr/local/php/bin/php-config --with-zlib-dir 

make && make install 

安裝完成後,提示

Installing shared extensions:     /usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/ 

配置php.ini檔案

修改extension_dir:

extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/" 

添加一行以便加載memcache擴充:extension=memcache.so

extension=memcache.so 

驗證PHP中是否成功加載memcache擴充

[root@test /]# php -m 

[PHP Modules] 

Core 

ctype 

curl 

date 

dom 

eAccelerator 

ereg 

fileinfo 

filter 

hash 

iconv 

json 

libxml 

mcrypt 

memcache 

mysql 

mysqli 

pcre 

PDO 

pdo_sqlite 

Phar 

posix 

Reflection 

session 

SimpleXML 

SPL 

SQLite 

sqlite3 

standard 

tokenizer 

xml 

xmlreader 

xmlwriter 

zlib 

[Zend Modules] 

17行處,有memcahe,正确加載

後續:memcached基本配置

啟動memcached 服務端程式:

memcached -d -m 10 -u root -l localhost -p 11211 -c 256 -P /tmp/memcached.pid 

各個參數的含義:

-d選項是啟動一個守護程序, 

-m是配置設定給Memcached使用的記憶體數量,機關是MB, 

-u是運作Memcache的使用者,我這裡是root, 

-l是監聽的伺服器IP位址, 

-p是設定Memcache監聽的端口,最好是1024以上的端口, 

-c選項是最大運作的并發連接配接數,預設是1024,按照你伺服器的負載量來設定, 

-P是設定儲存Memcache的pid檔案 

PS:memcached 常用方法:

kill `cat /tmp/memcached.pid` 

擷取運作狀态 

echo stats | nc 192.168.0.122 11200 

watch “echo stats | nc 192.168.0.122 11200 ” (實時狀态) 

快速清空 

echo “flush_all” | nc 192.168.0.122 11200 

其他工具 

http://code.sixapart.com/svn/memcached/trunk/server/scripts/memcached-tool 

本文轉自dongfang_09859 51CTO部落格,原文連結:http://blog.51cto.com/hellosa/503371,如需轉載請自行聯系原作者