libevent:?http://libevent.org/
服務器端:https://code.google.com/archive/p/memcached/downloads
客戶端:?http://pecl.php.net/package/memcache ? 和 ??http://pecl.php.net/package/memcached ? ?二選一 ?
?
http://chenzhou123520.iteye.com/blog/1933489
https://blog.linuxeye.com/345.html
http://chenzhou123520.iteye.com/blog/1925209
http://www.cnblogs.com/scotoma/archive/2011/02/15/1955573.html
最近在公司服務器上安裝memcached安了很多次,每次都得上網來查一下步驟,今天干脆寫個詳細點的步驟記錄一下,留作備忘。
?
一、檢查libevent
首先檢查系統中是否安裝了libevent
- rpm?-qa|grep?libevent??
如果安裝了則查看libevent的安裝路徑,后續安裝時需要用到
- rpm?-ql?libevent??
如果沒有安裝,則先安裝libevent
?
安裝libevent:
1.首先下載libevent安裝包
- wget?http://www.monkey.org/~provos/libevent-1.4.12-stable.tar.gz?????
2.解壓縮安裝包
- tar?zxvf?libevent-1.4.12-stable.tar.gz?-C?/usr/local/??
3.進入解壓后的目錄
- cd?libevent-1.4.12-stable/??
4.配置編譯、安裝
- ./configure?-prefix=/usr/libevent??
- make??
- make?install??
安裝完libevent之后為了讓動態鏈接庫為系統所共享,需要執行以下動態鏈接庫的管理命令ldconfig
不過在執行ldconfig命令之前需要注意以下libevent的安裝目錄。具體參見:http://chenzhou123520.iteye.com/blog/1925196
?
安裝完libevent后正式開始安裝memcached
1.首先是下載memcached的安裝包
- wget?http://memcached.googlecode.com/files/memcached-1.4.15.tar.gz??
2.修改安裝包的執行操作權限
- chmod?777?memcached-1.4.15.tar.gz??
3.解壓安裝包到指定目錄
- tar?zxvf?memcached-1.4.15.tar.gz?-C?/usr/local??
4.進入解壓后的目錄
- cd?/usr/local/memcached-1.4.15/??
5.配置、編譯、安裝
注:configure時需要指定libevent的安裝路徑
- ./configure?-with-libevent=/usr/libevent/?-prefix=/usr/local/memcached??
- make??
- make?install??
6.安裝成功后啟動一下看安裝是否成功
- /usr/local/memcached/bin/memcached?-d?-m?10m -p?11211?-u?root??
啟動參數介紹如下:和上面的命令不對應
-d選項是啟動一個守護進程,
-m是分配給Memcache使用的內存數量,單位是MB,這里是10MB,
-u是運行Memcache的用戶,這里是root,
-l是監聽的服務器IP地址,如果有多個地址的話,這里指定了服務器的IP地址192.168.0.200,
-p是設置Memcache監聽的端口,這里設置了12000,最好是1024以上的端口,
-c選項是最大運行的并發連接數,默認是1024,這里設置了256,按照服務器的負載量來設定,
-P是設置保存Memcache的pid文件,我這里是保存在 /tmp/memcached.pid,也可以啟動多個守護進程,不過端口不能重復。
?
如果要給memcached上配置日志,參見:http://chenzhou123520.iteye.com/blog/1925209
?
PS:附上一個memcached啟動的shell腳本
- #!/bin/sh??
- echo?"Start?to?start?memcached?server?$(date)..."??
- ??
- MEMCACHED=/usr/local/memcached/bin/memcached??
- ??
- usage()??
- {??
- ?????echo?"usage:?`basename?$0`?port"??
- }??
- ??
- if?[?-n?"$1"?]??
- then??
- {??
- ?????pid=`ps?aux|grep?memcached|grep?"$1"?|grep?-v?grep|awk?'{print?$2}'`??
- ?????if?[?-n?"$pid"?]??
- ?????then??
- ?????{??
- ??????????sleep?2??
- ??????????echo?"kill?memcached?which?port?is?$1?begin"??
- ??????????echo?"pid:$pid"??
- ??????????kill?-9?$pid??
- ??????????echo?"kill?memcached?which?port?is?$1?end"??
- ??????????sleep?2??
- ?????}??
- ?????fi??
- ?????echo?"begin?to?start?memcached?in?port?$1"??
- ?????LOG_FILE=/var/log/memcached/memcached_$1.log??
- ?????rm?-f?$LOG_FILE??
- ?????$MEMCACHED?-d?-m?2048?-p?$1?-u?root?-vv?>>?$LOG_FILE?2>&1??
- ?????echo?"start?memcached?end"??
- ?????tail?-f?$LOG_FILE??
- }??
- else??
- {??
- ?????usage??
- ?????exit?1??
- }??
- fi??
把該腳本命名為startup.sh
執行:./startup.sh 11211
其中11211為memcached的啟動端口,也可以通過自定義的端口來啟動
查看是否啟動:ps aux|grep memcached
查看版本 : ??
cd /etc/init.d/
memcached -h ?
或者: