1. 程式人生 > >阿里雲Linux下安裝libevent+Memcached伺服器端

阿里雲Linux下安裝libevent+Memcached伺服器端

Linux下安裝Memcache伺服器端,由於Memcached要用到libevent庫來進行Socket處理,事先要安裝libevent(官網:http://libevent.org/),在安裝之前檢查是否已經安裝了libevent)


1、先安裝libevent
程式碼如下
# cd /data/tmp
# wget https://github.com/libevent/libevent/releases/download/release-2.0.22-stable/libevent-2.0.22-stable.tar.gz
# tar -zxvf libevent-2.0.22-stable.tar.gz
# cd libevent-2.0.22-stable
# ./configure --prefix=/data/webserver/libevent 
# make && make install
安裝好後會在/data/webserver/libevent/目錄下生成檔案


2、安裝memcached,同時需要安裝中指定libevent的安裝位置
程式碼如下
# cd /data/tmp
# wget http://www.memcached.org/files/memcached-1.4.36.tar.gz
# tar -zxvf memcached-1.4.36.tar.gz
# cd memcached-1.4.36
# ./configure --prefix=/data/webserver/memcached --with-libevent=/data/webserver/libevent/
# make && make install
安裝好後會在/data/webserver/memcached/bin/目錄下生成memcached


3、啟動Memcache的伺服器端
程式碼如下
# /data/webserver/memcached/bin/memcached -d -c 10240 -m 1024 -u root


-d 選項是啟動一個守護程序,
-m 是分配給Memcache使用的記憶體數量,單位是MB,這裡是1024MB,預設是64MB
-u 是執行Memcache的使用者,這裡是root
-l 是監聽的伺服器IP地址,預設應該是本機
-p 是設定Memcache監聽的埠,預設是11211,最好是1024以上的埠
-c 選項是最大執行的併發連線數,預設是1024,這裡設定了10240,按照你伺服器的負載量來設定
-P 是設定儲存Memcache的pid檔案位置
-h 列印幫助資訊
-v 輸出警告和錯誤資訊
-vv 列印客戶端的請求和返回資訊


獲取執行狀態
程式碼如下
#ps -ef|grep memcached 或使用 echo stats | nc localhost 11211(可以查看出pid)
ps -ef|grep memcached(命令說明) 
grep:功能說明:查詢檔案裡符合條件的字串。
|:管道命令操作符
ps(process status):功能說明:報告程式狀況。




另外一個例子:
啟動/結束
程式碼如下
#/data/webserver/memcached/bin/memcached -d -m 10 -u root -l 192.168.0.122 -p 11200 -c 256 -P /tmp/memcached.pid
-d 選項是啟動一個守護程序,
-m 是分配給Memcache使用的記憶體數量,單位是MB,這裡是10MB
-u 是執行Memcache的使用者,這裡是root
-l 是監聽的伺服器IP地址,如果有多個地址的話,這裡指定了伺服器的IP地址192.168.0.122
-p 是設定Memcache監聽的埠,這裡設定了12000,最好是1024以上的埠
-c 選項是最大執行的併發連線數,預設是1024,這裡設定了256,按照你伺服器的負載量來設定
-P 是設定儲存Memcache的pid檔案


停止memcached
程式碼如下
#kill 'cat /tmp/memcached.pid'
 
獲取執行狀態
程式碼如下
echo stats | nc 192.168.1.123 11200
watch "echo stats | nc 192.168.1.123 11200" (實時狀態)




4、停止memcached
程式碼如下
#kill -9 pid
 
(-9表示強制殺死,pid 為程序的程序識別符號)


5、連線到 memcached:
程式碼如下
#telnet 127.0.0.1 11211


stats檢視狀態,flush_all:清楚快取
檢視memcached狀態的基本命令,通過這個命令可以看到如下資訊:
STAT pid 22459                             程序ID
STAT uptime 1027046                        伺服器執行秒數
STAT time 1273043062                       伺服器當前unix時間戳
STAT version 1.4.4                         伺服器版本
STAT pointer_size 64                       作業系統字大小(這臺伺服器是64位的)
STAT rusage_user 0.040000                  程序累計使用者時間
STAT rusage_system 0.260000                程序累計系統時間
STAT curr_connections 10                   當前開啟連線數
STAT total_connections 82                  曾開啟的連線總數
STAT connection_structures 13              伺服器分配的連線結構數
STAT cmd_get 54                            執行get命令總數
STAT cmd_set 34                            執行set命令總數
STAT cmd_flush 3                           指向flush_all命令總數
STAT get_hits 9                            get命中次數
STAT get_misses 45                         get未命中次數
STAT delete_misses 5                       delete未命中次數
STAT delete_hits 1                         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 auth_cmds 0
STAT auth_errors 0
STAT bytes_read 15785                      讀取位元組總數
STAT bytes_written 15222                   寫入位元組總數
STAT limit_maxbytes 1048576                分配的記憶體數(位元組)
STAT accepting_conns 1                     目前接受的連結數
STAT listen_disabled_num 0                
STAT threads 4                             執行緒數
STAT conn_yields 0
STAT bytes 0                               儲存item位元組數
STAT curr_items 0                          item個數
STAT total_items 34                        item總數
STAT evictions 0                           為獲取空間刪除item的總數