轉載鏈接:http://yidao620c.iteye.com/blog/1899814
1. 準備安裝文件
下載memcached與libevent的安裝文件
http://memcached.googlecode.com/files/memcached-1.4.15.tar.gz(memcached下載地址)
https://github.com/downloads/libevent/libevent/libevent-2.0.21-stable.tar.gz(libevent下載地址)
2. 具體安裝步驟
1.由於memcached依賴於libevent,因此需要安裝libevent。由於linux系統可能默認已經安裝libevent,執行命令:
rpm -qa|grep libevent
查看系統是否帶有該安裝軟件,如果有執行命令:
rpm -e libevent-1.4.13-4.el6.x86_64 --nodeps(由於系統自帶的版本舊,忽略依賴刪除)
3. 安裝libevent命令:
tar zxvf libevent-2.0.21-stable.tar.gz
cd libevent-2.0.21-stable
./configure --prefix=/usr/local/libevent
make
make install
至此libevent安裝完畢;
4. 安裝memcached命令:
tar zxvf memcached-1.4.15.tar.gz
cd memcached-memcached-1.4.15
./configure --prefix=/usr/local/memcached --with-libevent=/usr/local/libevent/
make
make install
至此memcached安裝完畢;
5. 可能存在的錯誤以及解決方案
如果出現客戶端連接不上memcached的情況,請將防火牆關閉或將防火牆中的memcached端口(11211端口)打開。
6. 啓動memcached
1.打開一個終端,輸入以下命令:
/usr/local/memcached/bin/memcached -d -m 256 -u root -p 11211 -c 1024 –P /tmp/memcached.pid
啓動參數說明:
-d 選項是啓動一個守護進程。
-u root 表示啓動memcached的用戶爲root。
-m 是分配給Memcache使用的內存數量,單位是MB,默認64MB。
-M return error on memory exhausted (rather than removing items)。
-u 是運行Memcache的用戶,如果當前爲root 的話,需要使用此參數指定用戶。
-p 是設置Memcache的TCP監聽的端口,最好是1024以上的端口。
-c 選項是最大運行的併發連接數,默認是1024。
-P 是設置保存Memcache的pid文件。
另外還有個更詳細的參數說明:
- memcached 1.4.2
- -p <num> 監聽的TCP端口(默認: 11211)
- -U <num> 監聽的UDP端口(默認: 11211, 0表示不監聽)
- -s <file> 用於監聽的UNIX套接字路徑(禁用網絡支持)
- -a <mask> UNIX套接字訪問掩碼,八進制數字(默認:0700)
- -l <ip_addr> 監聽的IP地址。(默認:INADDR_ANY,所有地址)
- -d 作爲守護進程來運行。
- -r 最大核心文件限制。
- -u <username> 設定進程所屬用戶。(只有root用戶可以使用這個參數)
- -m <num> 單個數據項的最大可用內存,以MB爲單位。(默認:64MB)
- -M 內存用光時報錯。(不會刪除數據)
- -c <num> 最大併發連接數。(默認:1024)
- -k 鎖定所有內存頁。注意你可以鎖定的內存上限。
- 試圖分配更多內存會失敗的,所以留意啓動守護進程時所用的用戶可分配的內存上限。
- (不是前面的 -u <username> 參數;在sh下,使用命令"ulimit -S -l NUM_KB"來設置。)
- -v 提示信息(在事件循環中打印錯誤/警告信息。)
- -vv 詳細信息(還打印客戶端命令/響應)
- -vvv 超詳細信息(還打印內部狀態的變化)
- -h 打印這個幫助信息並退出。
- -i 打印memcached和libevent的許可。
- -P <file> 保存進程ID到指定文件,只有在使用 -d 選項的時候纔有意義。
- -f <factor> 塊大小增長因子。(默認:1.25)
- -n <bytes> 分配給key+value+flags的最小空間(默認:48)
- -L 嘗試使用大內存頁(如果可用的話)。提高內存頁尺寸可以減少"頁表緩衝(TLB)"丟失次數,提高運行效率。
- 爲了從操作系統獲得大內存頁,memcached會把全部數據項分配到一個大區塊。
- -D <char> 使用 <char> 作爲前綴和ID的分隔符。
- 這個用於按前綴獲得狀態報告。默認是":"(冒號)。
- 如果指定了這個參數,則狀態收集會自動開啓;如果沒指定,則需要用命令"stats detail on"來開啓。
- -t <num> 使用的線程數(默認:4)
- -R 每個連接可處理的最大請求數。
- -C 禁用CAS。
- -b 設置後臺日誌隊列的長度(默認:1024)
- -B 綁定協議 - 可能值:ascii,binary,auto(默認)
- -I 重寫每個數據頁尺寸。調整數據項最大尺寸。
也可以啓動多個守護進程,但是端口不能重複
查看memcached啓動命令
ps aux|grep memcached
7. 停止memcached
打開一個終端,輸入以下命令:
ps -ef | grep memcached或者上面的ps命令也行,第二個字段爲PID,比如10068
輸入一下命令終止memcached服務
kill -9 10068
8.防火牆開放端口
vi /etc/sysconfig/iptables
添加-A INPUT -m state --state NEW -m tcp -p tcp --dport 11211 -j ACCEPT
service iptables restart