歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> 關於Linux >> 分布式memcached學習(一)——linux環境下編譯memcahed

分布式memcached學習(一)——linux環境下編譯memcahed

日期:2017/3/1 11:45:20   编辑:關於Linux

安裝依賴工具

[root@localhost upload]# yum install gcc make cmake autoconf libtool

下載並上傳文件

memcached 依賴於 libevent 庫,因此我們需要先安裝 libevent.,ibevent和memcached的下載路徑

http://sourceforge.net/projects/levent/?source=typ_redirect

https://github.com/memcached/memcached/wiki/ReleaseNotes1425

[root@localhost upload]# ls

libevent-2.0.22-stable libevent-2.0.22-stable.tar.gz memcached-1.4.25.tar.gz

[root@localhost upload]#

解壓編譯

[root@localhost upload]#tar zxvf libevent-2.0.21-stable.tar.gz

[root@localhost upload]# cd libevent-2.0.22-stable

[root@localhost upload]#./configure --prefix=/usr/local/libevent

[root@localhost upload]#make && make install

[root@localhost upload]# tar zxvf memcached-1.4.25.tar.gz

[root@localhost upload]# cd memcached-1.4.25

[root@localhost upload]# ./configure --prefix=/usr/local/memcached

報錯:

checking for libevent directory... configure: error: libevent is required. You can get it from http://www.monkey.org/~provos/libevent/

If it's already installed, specify its path using --with-libevent=/dir/

提示需要libevent,需要指明libevent的安裝目錄

[root@localhost upload]#

./configure --prefix=/usr/local/memcached --with-libevent=/usr/local/libevent

[root@localhost memcached-1.4.25]# make && make install

沒什麼錯誤提示的話,編譯成功。

Memcached已經成功安裝到/usr/local/memcached/bin/memcached目錄下。

啟動memcached

[root@localhost memcached-1.4.25]# /usr/local/memcached/bin/memcached -m 64 -p 11211 -u nobody -vv

slab class 1: chunk size 80 perslab 13107

slab class 2: chunk size 104 perslab 10082

slab class 3: chunk size 136 perslab 7710

slab class 4: chunk size 176 perslab 5957

slab class 5: chunk size 224 perslab 4681

slab class 6: chunk size 280 perslab 3744

slab class 7: chunk size 352 perslab 2978

......

可以看到memcached已經啟動,並把信息輸出到控制台。

各個參數解析:

-m 內存大小

-p 端口

-u 用戶

-vv 詳細信息

如果我們想讓memcached作為守護進程在後台運行,只需要加-d選項

[root@localhost memcached-1.4.25]#/usr/local/memcached/bin/memcached

-m 64 -p 11211 -u nobody -d

幾個重要參數

摘自網上的幾個重要參數

-p 監聽的TCP端口(默認: 11211)
-d 作為守護進程來運行。
-u 設定進程所屬用戶。(只有root用戶可以使用這個參數)
-m 所有slab class可用內存的上限,以MB為單位。(默認:64MB)
(譯者注:也就是分配給該memcached實例的內存大小。)
-c 最大並發連接數。(默認:1024)
-v 提示信息(在事件循環中打印錯誤/警告信息。)
-vv 詳細信息(還打印客戶端命令/響應)
-vvv 超詳細信息(還打印內部狀態的變化)
-h 打印這個幫助信息並退出。
-f 不同slab class裡面的chunk大小的增長倍率(增長因子)。(默認:1.25)
(譯者注:每個slab class裡面有相同數量個slab page,每個slab page裡面有chunk, 且在當前slab class內的chunk大小固定。
而不同slab class裡的chunk大小不一致,具體差異就是根據這個參數的倍率在增長,直 到分配的內存用盡。)
-n chunk的最小空間(默認:48)
(譯者注:chunk數據結構本身需要消耗48個字節,所以一個chunk實際消耗的內存是 n+48。)

下面我們將介紹memcached的連接。

安裝telnet工具

memcached客戶端與服務器端的通信比較簡單,使用的基於文本的協議,而不是二進制協議.

(http協議也是這樣), 因此我們通過telnet即可與memcached作交互

[root@localhost libevent-2.0.22-stable]# yum install telnet*

linux連接memcached

[root@localhost libevent-2.0.22-stable]# telnet 192.168.1.112 11211

Trying 192.168.1.112...

Connected to 192.168.1.112.

Escape character is '^]'.

按下Ctrl + ] 打開回顯功能,Enter即可.如下:

[root@localhost libevent-2.0.22-stable]# telnet 192.168.1.112 11211

Trying 192.168.1.112...

Connected to 192.168.1.112.

Escape character is '^]'.

^]

telnet>

可以看到memcached控制台輸出了客戶端連接的信息

<34 server listening (udp)

<35 server listening (udp)

<36 new auto-negotiating client connection

windows連接memcached

如果從windows的控制台連接到linux中的memcached,需要打開linux 的 11211端口的訪問權限,如下

[root@localhost libevent-2.0.22-stable]# /sbin/iptables -I INPUT -p tcp --dport 11211 -j ACCEPT

同樣,在windows的控制台輸入telnet 192.168.1.112 11211即可連接。

Copyright © Linux教程網 All Rights Reserved