Ⅰ linux下Memcached的安裝步驟是什麼呢
一、檢查libevent
首先檢查系統中是否安裝了libevent
Shell代碼
rpm -qa|grep libevent
如果安裝了則查看libevent的閉納安裝路徑,後續安裝時需要用到
Shell代碼
rpm -ql libevent
如果沒有安裝,則先安裝libevent
安裝libevent:
1.首先下載libevent安裝包
Shell代碼
wget http://www.monkey.org/~provos/libevent-1.4.12-stable.tar.gz
2.解壓縮安裝包
Shell代碼
tar zxvf libevent-1.4.12-stable.tar.gz -C /usr/local/
3.進入解壓後的目錄
Shell代碼
cd libevent-1.4.12-stable/
4.配置編譯、安裝
Shell代碼
./configure -prefix=/usr/libevent
make
make install
安裝完libevent之後為了讓動態鏈接庫為系統所共享,需要執行以下動態鏈接庫的管理命令ldconfig
不過在執行ldconfig命令之前需要注意以下libevent的安裝目錄。具體參見:http://chenzhou123520.iteye.com/blog/1925196
安裝完libevent後正式開始安裝memcached
1.首先是下載memcached的安裝包
Shell代碼
wget http://memcached.googlecode.com/files/memcached-1.4.15.tar.gz
2.修改安裝包的執行操作許可權
Shell代碼
chmod 777 memcached-1.4.15.tar.gz
3.解壓安裝包到指定目錄
Shell代碼
tar zxvf memcached-1.4.15.tar.gz -C /usr/local
4.進入解壓後的目錄
Shell代碼
cd /usr/local/memcached-1.4.15/
5.配置、編譯、安裝
註:configure時需要指定libevent的安裝路徑
Shell代碼
./configure -with-libevent=/usr/libevent/ -prefix=/usr/local/memcached
make
make install
6.安裝成功後啟動一下看安裝是否成功
Shell代碼
/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腳本
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
或者:
[nihaoya@SHANGH-39-DX-APP ~]# telnet 127.0.0.1 11211
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
stats
Ⅱ LINUX memcache 沒有./configure 怎麼安裝啊
tar zxf untar/memcache-3.0.6.tgz
cd memcache-3.0.6/
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make
make install
Ⅲ linux 怎麼啟動memcache
MemCache是高性能分布式內存對象緩存系統(將數據調用到內存中,然後在內存中讀取,從而大大提高讀取速度)
Memcached安裝與啟動:
安裝memcached需要先安裝libevent
Shell>tar zxvf libevent-1.4.14b-stable.tar.gz
Shell>cd libevent-1.4.14b-stable
Shell>./configure
Shell>make && make install
安裝memcached
Shell>tar zxvf memcached-1.2.5.tar.tar
Shell>cd memcached-1.2.5
Shell>./configure –prefix=/usr/local/memcached
Shell>make && make install
啟動memcached
Shell>/usr/local/memcached/bin/memcached –p 11211 –d –u root –P /tmp/memcached.pid
-P是表示使用TCP,默認埠為11211
-d表示後台啟動一個守護進程(daemon)
-u表示指定root用戶啟動,默認不能用root用戶啟動
-P表示進程的pid存放地點,此處「p」為大寫「P」
-l,後面跟IP地址,手工指定監聽IP地址,默認所有IP都在監聽
-m後面跟分配內存大小,以MB為單位,默認為64M
-c最大運行並發連接數,默認為1024
-f 塊大小增長因子,默認是1.25
-M 內存耗盡時返回錯誤,而不是刪除項,即不用LRU演算法
Ⅳ linux怎麼查看memcached安裝目錄
1.由於memcached依賴於libevent,因此需要安裝libevent。由於linux系統可能默認已經安裝libevent,執行命令: rpm -qagrep 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安裝完畢; 安裝過程中出現:configure: error : no acceptable C compiler found in $PATH錯誤時是沒有安裝gcc,運行如下命令: yum install gcc* make* 4. 安裝memcached命令: tar zxvf memcached-1.4.2.tar.gz cd memcached-memcached-1.4.2 ./configure --prefix=/usr/local/memcached --with-libevent= /usr/local/libevent/ make make install 至此memcached安裝完畢; 5.當啟動memcached時經常不能發現libevent.so;可以通過以下命令檢查: 進入/usr/local/memcached/bin目錄 LD_DEBUG=help ./memcached -v LD_DEBUG=libs ./ memcached。
Ⅳ 如何在Linux下安裝Memcached
在Linux下安裝Memcached方法:
到官網下載安裝文件。
在命令行輸入:kill `cat /tmp/memcached.pid`可結束掉服務。
Ⅵ Memcached
Memcached報錯:CLIENT_ERROR bad data chunk
這是因為存儲的位元組長度與指定的長度不匹配造成的,如:
set username 0 0 2
你是打算存儲兩個位元組,但如果你輸入不等於2個位元組就會報
CLIENT_ERROR bad data chunk
錯誤,注意必須是2個,多於或少於2個位元組都會報這個錯誤。
Ubuntu
sudo apt-get install memcached
sudo service memcached status/stop/start/restart
Linux下設置memcached訪問IP
vim /etc/memcached.conf
注釋掉-l 127.0.0.1
sudo service memcached restart
一、安裝gcc
由於memcached和libevent是由C編寫的,所以首先確保你的系統安裝了gcc,如果沒有安裝,使用yum安裝即可
$ yum -y install gcc
$ yum -y install gcc-c++
$ gcc --version
二、安裝libevent
wget https://github.com/downloads/libevent/libevent/libevent-2.0.21-stable.tar.gz
$ tar -xzf libevent-2.0.21-stable.tar.gz
$ cd libevent-2.0.21-stable
$ ./configure --prefix=/usr
$ make
$ make install
安裝完後可以查看下/usr/lib是否有libevent等文件(ls -al /usr/lib | grep libevent)
#如果時間不對,需要修改系統時間
三、安裝memcached
wget http://memcached.org/files/memcached-1.4.21.tar.gz
$ tar xzvf memcached-1.4.15.tar.gz
$ cd memcached-1.4.15
$ ./configure --with-libevent=/usr
$ make
$ make install
安裝結果(ls -al /usr/local/bin/memcached)
四、啟動memcached
memcached -d -m 512 -p 11211 -u root -c 256 -P /var/run/memcached.pid
五、關閉防火牆11211埠
$ vi /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 11211 -j ACCEPT
$ service iptables restart
六、telnet訪問
然後就可以使用telnet,來測試memcache的連接狀態,如果沒有安裝telnet服務,可以執行
$ yum install telnet-server #安裝服務
$ yum install telnet #安裝命令
然後編輯vi /etc/xinetd.d/telnet文件,激活telnet,默認是禁用的,默認為yes,需要改成no
disable = no
然後重啟服務,執行命令
$ service xinetd restart
然後就可以測試memcached的連接,執行命令
$ telnet 127.0.0.1 11211
輸入stats,會輸出memcache的一些連接信息,包括PID
如果需要退出,則執行quit命令即可
Ⅶ Memcached 如何設置比較好Linux 伺服器中寶塔面板
配置修改:如果不懂代碼的話,不要伸手,後果自負。
負載狀態:memcached運行中的相關狀態。其中最重要的是hit這個參數,也就是命中率。當然是越高越好了。
性能調整:前面IP和埠不要改。緩存大小根據實際情況調整。根據什麼來調整呢?回到負載狀態欄,有一個「當前已使用內存」,看這個數字來調整。比如默認分配給memcached一共64M內存,但是已使用內存62M就說明memcached可用內存快要滿了,這時候就手動改大一點,比如128M。具體數字根據每天流量情況來定。
Memcached的目的就是把所有文章內容都扔進內存,這樣用戶來訪時直接讀取內存中的內容,跳過了資料庫,所以使用memcached後網站打開感覺特別快。比如網站每天發幾十篇文章,可能這個數字就調整大一點,防止不夠用了
Ⅷ linux 怎樣 查看memcached是否安裝成功
一、使用memcache top腳本
memcache-top 是一個用 Perl 編寫的命令行小工具,用來實時的獲取 memcached 緩存伺服器的詳細信息,例如緩存命中率等。到官網下載腳本,放到用戶目錄,直接運行即可。
/home/nihaoya/memcache-top
INSTANCE USAGE HIT % CONN TIME EVICT/s READ/s WRITE/s
10.50.11.5:11211 88.8% 69.6% 1123 1.9ms 0.3 13.1K 36.2K
10.50.11.5:11212 88.7% 69.6% 1175 0.6ms 0.3 12.4K 28.1K
10.50.11.5:11213 88.8% 69.4% 1148 0.7ms 0.0 16.6K 32.1K
10.50.12.5:11211 89.3% 81.5% 1460 0.7ms 0.3 17.7K 204.0K
10.50.12.5:11212 89.4% 69.3% 1174 0.6ms 1.0 28.9K 63.5K
10.50.12.5:11213 89.3% 69.4% 1158 0.7ms 0.7 166.3K 194.4K
10.50.15.5:11211 89.3% 71.8% 1472 0.8ms 0.0 37.3K 59.2K
10.50.15.5:11212 89.4% 69.3% 1143 0.7ms 0.7 44.9K 35.4K
10.50.15.5:11213 89.3% 84.5% 1371 0.7ms 0.7 49.0K 187.2K
10.50.9.90:11211 30.2% 76.3% 259 0.7ms 0.0 243 999
10.50.9.90:11212 19.2% 60.3% 261 0.7ms 0.0 40 801
10.50.9.90:11213 17.5% 16.9% 235 0.6ms 0.0 70 600
AVERAGE: 72.4% 67.3% 998 0.8ms 0.3 32.2K 70.2K
TOTAL: 23.4GB 11.7K 9.2ms 4.0 386.4K 842.3K
二、使用telnet方式,只能查看某個節點的
[nihaoya@SHANGH-39-DX-APP ~]# telnet 127.0.0.1 11211
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
stats
STAT pid 22362 //memcache伺服器的進程ID www.2cto.com
STAT uptime 1469315 //伺服器已經運行的秒數
STAT time 1339671194 //伺服器當前的unix時間戳
STAT version 1.4.9 //memcache版本
STAT libevent 1.4.9-stable //libevent版本
STAT pointer_size 64 //當前操作系統的指針大小(32位系統一般是32bit,64就是64位操作系統)
STAT rusage_user 3695.485200 //進程的累計用戶時間
STAT rusage_system 14751.273465 //進程的累計系統時間
STAT curr_connections 69 //伺服器當前存儲的items數量
STAT total_connections 855430 //從伺服器啟動以後存儲的items總數量
STAT connection_structures 74 //伺服器分配的連接構造數
STAT reserved_fds 20 //
STAT cmd_get 328806688 //get命令(獲取)總請求次數
STAT cmd_set 75441133 //set命令(保存)總請求次數 www.2cto.com
STAT cmd_flush 34 //flush命令請求次數
STAT cmd_touch 0 //touch命令請求次數
STAT get_hits 253547177 //總命中次數
STAT get_misses 75259511 //總未命中次數
STAT delete_misses 4 //delete命令未命中次數
STAT delete_hits 565730 //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 545701515844 //總讀取位元組數(請求位元組數)
STAT bytes_written 1649639749866 //總發送位元組數(結果位元組數)
STAT limit_maxbytes 2147483648 //分配給memcache的內存大小(位元組)
STAT accepting_conns 1 //伺服器是否達到過最大連接(0/1)
STAT listen_disabled_num 0 //失效的監聽數
STAT threads 4 //當前線程數
STAT conn_yields 14 //連接操作主動放棄數目
STAT hash_power_level 16 //
STAT hash_bytes 524288
STAT hash_is_expanding 0
STAT expired_unfetched 30705763
STAT evicted_unfetched 0
STAT bytes 61380700 //當前存儲佔用的位元組數
STAT curr_items 28786 //當前存儲的數據總數
STAT total_items 75441133 //啟動以來存儲的數據總數
STAT evictions 0 //為獲取空閑內存而刪除的items數(分配給memcache的空間用滿後需要刪除舊的items來得到空間分配給新的items)
STAT reclaimed 39957976 //已過期的數據條目來存儲新數據的數目
END
退出:quit或者ctrl + ] 然後在按q就行了。
安裝telenet方法
1、yum install telnet-server 服務端
2、yum install telnet 客戶端
3、vi /etc/xinetd.d/telnet
service telnet
{
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/sbin/in.telnetd
log_on_failure += USERID
disable = yes
}
將disable項由yes改成no。
4、/etc/init.d/xinetd restart
其他方式:
前項目中,linux下memcached的啟動/結束的方式
默認情況下memcached安裝到/usr/local/bin下。
進入安裝目錄,啟動memcached:/usr/local/memcached/bin/memcached -d -c 10240 -m 1024 -u root
獲取運行狀態:echo stats | nc localhost 11211(可以查看出pid) 或使用ps -ef|grep memcached
停止memcached:kill -9 pid (-9表示強制殺死,pid 為進程的進程標識符)
-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(命令說明)
grep:功能說明:查找文件里符合條件的字元串。
|:管道命令操作符
ps(process status):功能說明:報告程序狀況。
連接到 memcached:
telnet ip 埠,如telnet 192.168.100.11 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的總數
另外一個例子:
啟動/結束
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文件
kill `cat /tmp/memcached.pid`
獲取運行狀態
echo stats | nc 192.168.1.123 11200
watch "echo stats | nc 192.168.1.123 11200" (實時狀態)