標籤:style blog http io ar color os 使用 sp
環境:
CentOS 6.4
libevent-1.4.14b-stable
memcached-1.4.21
查看是否安裝libevent
[[email protected] ~]# rpm -qa |grep libevent
一、下載Memcache伺服器端
memcache官網:http://memcached.org/
libevent官網:http://www.monkey.org/~provos/libevent/
Memcache用到了libevent這個庫用於Socket的處理,所以必須先安裝libevent.
下載
二、安裝
1、分別把memcached和libevent下載下來,放到 /tmp 目錄下:
[[email protected] /]# cd /tmp
2、先安裝libevent:
[[email protected] tmp]# tar zxvf libevent-1.4.14b-stable.tar.gz
[[email protected] libevent-1.4.14b-stable]# cd libevent-1.4.14b-stable
[[email protected] libevent-1.4.14b-stable]# ./configure –prefix=/usr
[[email protected] libevent-1.4.14b-stable]# make
[[email protected] libevent-1.4.14b-stable]# make install
3、測試libevent是否安裝成功:
[[email protected] libevent-1.4.14b-stable]# ls -al /usr/lib | grep libevent
還不錯,都安裝上了。
4、安裝memcached,同時需要安裝中指定libevent的安裝位置:
[[email protected] libevent-1.4.14b-stable]# cd /tmp
[[email protected] tmp]# tar zxvf memcached-1.4.21.tar.gz
[[email protected] tmp]# cd memcached-1.4.21
[[email protected] memcached-1.4.21]# ./configure –with-libevent=/usr
[[email protected] memcached-1.4.21]# make
[[email protected] memcached-1.4.21]# make install
如果中間出現報錯,請仔細檢查錯誤資訊,按照錯誤資訊來配置或者增加相應的庫或者路徑。
安裝完成後會把memcached放到 /usr/local/bin/memcached
5、測試是否成功安裝memcached:
[[email protected] memcached-1.4.21]# ls -al /usr/local/bin/mem*
-rwxr-xr-x. 1 root root 340316 Dec 12 14:41 /usr/local/bin/memcached
三、啟動Memcached服務
1、啟動Memcache的伺服器端:
# /usr/local/bin/memcached -d -m 10 -u root -l localhost -p 11211 -c 256 -P /tmp/memcached.pid
-d選項是啟動一個守護進程,
-m是分配給Memcache使用的記憶體數量,單位是MB,我這裡是10MB,
-u是運行Memcache的使用者,我這裡是root,
-l是監聽的伺服器IP地址,如果有多個地址的話,我這裡指定了伺服器的IP地址192.168.0.200,
-p是設定Memcache監聽的連接埠,我這裡設定了11211,最好是1024以上的連接埠,
-c選項是最大啟動並執行並發串連數,預設是1024,我這裡設定了256,按照你伺服器的負載量來設定,
-P是設定儲存Memcache的pid檔案,我這裡是儲存在 /tmp/memcached.pid,
2、如果要結束Memcache進程,執行:
# kill `cat /tmp/memcached.pid`
也可以啟動多個守護進程,不過連接埠不能重複。
四、測試Memcached
本步驟需要安裝telnet,如果下面步驟執行有問題,請參照:http://www.cnblogs.com/yangxia-test/p/4159891.html
[[email protected] memcached-1.4.21]# telnet localhost 11211
Trying ::1...
Connected to localhost.
Escape character is ‘^]‘.
至此Memcached安裝成功!
五、查看Memcached狀態
[[email protected] memcached-1.4.21]# telnet localhost 11211
Trying ::1...
Connected to localhost.
Escape character is ‘^]‘.
stats
STAT pid 3401 //memcache伺服器的進程ID
STAT uptime 1481 //伺服器已經啟動並執行秒數
STAT time 1418368595 //伺服器當前的unix時間戳記
STAT version 1.4.21 //memcache版本
STAT libevent 1.4.14b-stable //libevent版本
STAT pointer_size 64 //當前作業系統的指標大小(32位系統一般是32bit,64就是64位作業系統)
STAT rusage_user 0.014997 //進程的累計使用者時間
STAT rusage_system 0.022996 //進程的累計系統時間
STAT curr_connections 10 //伺服器當前儲存的items數量
STAT total_connections 12 //從伺服器啟動以後儲存的items總數量
STAT connection_structures 11 //伺服器分配的串連構造數
STAT reserved_fds 20
STAT cmd_get 0 //get命令(擷取)總請求次數
STAT cmd_set 0 //set命令(儲存)總請求次數 www.2cto.com
STAT cmd_flush 0 //flush命令請求次數
STAT cmd_touch 0 //touch命令請求次數
STAT get_hits 0 //總叫用次數
STAT get_misses 0 //總未叫用次數
STAT delete_misses 0 //delete命令未叫用次數
STAT delete_hits 0 //delete命令叫用次數
STAT incr_misses 0 //incr命令未叫用次數
STAT incr_hits 0 //incr命令叫用次數
STAT decr_misses 0 //decr命令未叫用次數
STAT decr_hits 0 //decr命令叫用次數
STAT cas_misses 0 //cas命令未叫用次數
STAT cas_hits 0 //cas命令叫用次數
STAT cas_badval 0 //使用擦拭次數
STAT touch_hits 0 //touch命令未叫用次數
STAT touch_misses 0 //touch命令叫用次數
STAT auth_cmds 0 //認證命令處理的次數
STAT auth_errors 0 //認證失敗數目
STAT bytes_read 13 //總讀取位元組數(請求位元組數)
STAT bytes_written 0 //總發送位元組數(結果位元組數)
STAT limit_maxbytes 10485760 //分配給memcache的記憶體大小(位元組)
STAT accepting_conns 1 //伺服器是否達到過最大串連(0/1)
STAT listen_disabled_num 0 //失效的監聽數
STAT threads 4 //當前線程數
STAT conn_yields 0 //串連操作主動放棄數目
STAT hash_power_level 16
STAT hash_bytes 524288
STAT hash_is_expanding 0
STAT malloc_fails 0
STAT bytes 0 //當前儲存佔用的位元組數
STAT curr_items 0 //當前儲存的資料總數
STAT total_items 0 //啟動以來儲存的資料總數
STAT expired_unfetched 0
STAT evicted_unfetched 0
STAT evictions 0 //為擷取空閑記憶體而刪除的items數(分配給memcache的空間用滿後需要刪除舊的items來得到空間分配給新的items)
STAT reclaimed 0 //已到期的資料條目來儲存新資料的數目
STAT crawler_reclaimed 0
STAT lrutail_reflocked 0
END
退出:quit或者ctrl + ] 然後在按q就行了。
六、遇到的問題
1、如果啟動Memcached服務的時候遇到了
/usr/local/bin/memcached: error while loading shared libraries: libevent-1.2.so.1: cannot open shared object file: No such file or directory;
解決方案:
[[email protected] bin]# LD_DEBUG=libs memcached -v
[[email protected] bin]# ln -s /usr/lib/libevent-1.2.so.1 /usr/lib64/libevent-1.2.so.1
[[email protected] bin]# /usr/local/bin/memcached -d -m 100 -u root -p 12000 -c 1000 -P /tmp/memcached.pid
[[email protected] bin]# ps -aux
可以看到啟動的Memcached服務了.
2、把Memcached服務載入到Linux的啟動項中.萬一機器斷電系統重啟.那麼Memcached就會自動啟動了.
假如啟動Memcache的伺服器端的命令為:
# /usr/local/bin/memcached -d -m 10 -u root -l localhost -p 11211 -c 256 -P /tmp/memcached.pid容來自17jquery
想開機自動啟動的話,只需在/etc/rc.d/rc.local中加入一行,下面命令
/usr/local/memcached/bin/memcached -d -m 10 -p 11211 -u apache -c 256
上面有些東西可以參考一下:即,ip不指定時,預設是本機,使用者:最好選擇是:apache 或 deamon
這樣,也就是屬於哪個使用者的服務,由哪個使用者啟動。
CentOS 6.4 安裝Memcached服務