NoSql1 在Linux(CentOS)上安裝memcached及使用
前言:
今天是初五,生活基本要從過年的節奏中回歸到正常的生活了,所以想想也該想想與工作有關的事情了。我之前在工作中會經常使用memcached和redis,但是自己一直沒有時間系統的好好看下這部分的基礎知識,所以現在打算好好把這兩部分的基礎再看一看。我會把看到的東西努力記錄下來,給自己以后留個參考,如果能幫助到大家,自然是更好了~。
1.在Linux(CentOS)上安裝memcached及使用。http://www.rzrgm.cn/PurpleDream/p/4298208.html
===============================================================長長的分割線====================================================================
正文:
第一步,確定目標:
目前的環境是Linux CentOS,安裝memcached,然后學習下基本的使用。
第二步,下載安裝包:
由于安裝libevent是安裝memcached的前提,所以此處我們需要下載兩個安裝包,分別是libevent和memcached。
1.下載libevent,我在http://libevent.org/這里下載了最新的版本 libevent-2.0.22-stable.tar.gz
2.下載memcached,我在http://memcached.org/這里下載了最新的版本 memcached-1.4.22.tar.gz
3.將下載好的安裝包通過FileZilla等ftp工具上傳到我的linux環境中,目錄分別是 /myself_settings/libevent 和 /myself_settings/memcached
第三步,準備依次安裝libevent和memcached:
1.使用cd命令打開到 /myself_settings/libevent。
2.使用命令tar -xzvf libevent-2.0.22-stable.tar.gz ,將安裝包解壓縮,然后再cd到解壓縮后的 libevent-2.0.22-stable 文件夾中。
3.我們要使用configure命令安裝,安裝目錄應該在/usr/lib中,為了以后管理方便,此處我提前在/usr/lib文件中建立了一個新的文件夾libevent
4.執行命令: ./configure --prefix=/usr/lib/libevent (作用是配置)
5.執行命令: make (作用是編譯)
6.執行命令: make install (作用是安裝)
7.至此,libevent應該是安裝完畢的,我們可以使用命令 ls -al /usr/lib/libevent/lib 來查看libevent是否安裝成功。
1 drwxr-xr-x 3 root root 4096 Feb 23 17:06 . 2 drwxr-xr-x 5 root root 4096 Feb 23 17:06 .. 3 lrwxrwxrwx 1 root root 21 Feb 23 17:06 libevent-2.0.so.5 -> libevent-2.0.so.5.1.9 4 -rwxr-xr-x 1 root root 975704 Feb 23 17:06 libevent-2.0.so.5.1.9 5 -rw-r--r-- 1 root root 1586288 Feb 23 17:06 libevent.a 6 lrwxrwxrwx 1 root root 26 Feb 23 17:06 libevent_core-2.0.so.5 -> libevent_core-2.0.so.5.1.9 7 -rwxr-xr-x 1 root root 578875 Feb 23 17:06 libevent_core-2.0.so.5.1.9 8 -rw-r--r-- 1 root root 968792 Feb 23 17:06 libevent_core.a 9 -rwxr-xr-x 1 root root 970 Feb 23 17:06 libevent_core.la 10 lrwxrwxrwx 1 root root 26 Feb 23 17:06 libevent_core.so -> libevent_core-2.0.so.5.1.9 11 lrwxrwxrwx 1 root root 27 Feb 23 17:06 libevent_extra-2.0.so.5 -> libevent_extra-2.0.so.5.1.9 12 -rwxr-xr-x 1 root root 417629 Feb 23 17:06 libevent_extra-2.0.so.5.1.9 13 -rw-r--r-- 1 root root 617568 Feb 23 17:06 libevent_extra.a 14 -rwxr-xr-x 1 root root 977 Feb 23 17:06 libevent_extra.la 15 lrwxrwxrwx 1 root root 27 Feb 23 17:06 libevent_extra.so -> libevent_extra-2.0.so.5.1.9 16 -rwxr-xr-x 1 root root 935 Feb 23 17:06 libevent.la 17 lrwxrwxrwx 1 root root 30 Feb 23 17:06 libevent_pthreads-2.0.so.5 -> libevent_pthreads-2.0.so.5.1.9 18 -rwxr-xr-x 1 root root 18142 Feb 23 17:06 libevent_pthreads-2.0.so.5.1.9 19 -rw-r--r-- 1 root root 18806 Feb 23 17:06 libevent_pthreads.a 20 -rwxr-xr-x 1 root root 998 Feb 23 17:06 libevent_pthreads.la 21 lrwxrwxrwx 1 root root 30 Feb 23 17:06 libevent_pthreads.so -> libevent_pthreads-2.0.so.5.1.9 22 lrwxrwxrwx 1 root root 21 Feb 23 17:06 libevent.so -> libevent-2.0.so.5.1.9 23 drwxr-xr-x 2 root root 4096 Feb 23 17:06 pkgconfig
8. 下面我們要安裝的是memcache,首先還是和上邊處理libevent一樣,先將安裝包解壓縮,然后cd到解壓縮后的 memcached-1.4.22 文件夾中。
9.執行命令: ./configure --with-libevent=/usr/lib/libevent (作用是配置,此處要注意關聯之前安裝libevent的路徑 /usr/lib/libevent)
10.執行命令: make (作用是編譯)
11.執行命令: make install (作用是安裝)
12.至此,memcached安裝完畢,可以用命令 ls -al /usr/local/bin/mem*,查看memcached是否安裝成功。
1 -rwxr-xr-x 1 root root 325816 Feb 23 17:10 memcached
第四步,啟動memcached服務,命令如下:
1 /usr/local/bin/memcached -d -m 10 -u root -l 192.168.25.26 -p 14885 -c 256 -P /tmp/memcached.pid -vv >> /tmp/memcached.log 2>&1
針對上邊的啟動命令, 參數的詳細解釋如下:
-d 是啟動一個守護進程,
-m 是分配給Memcache使用的內存數量,單位是MB,我這里是10MB,
-u 是運行Memcache的用戶,我這里是root,
-l 是監聽的服務器IP地址,如果有多個地址的話我們可以用逗號將ip地址分隔或者使用多個-l,我這里指定了服務器的IP地址192.168.25.26,
-p 是設置Memcache監聽的端口,我這里設置了14885,最好是1024以上的端口,
-c 是最大運行的并發連接數,默認是1024,我這里設置了256,按照你服務器的負載量來設定,
-P 是設置保存Memcache的pid文件,我這里是保存在 /tmp/memcached.pid
-vv 主要是打印memcached日志,此處大家可以具體參考文章 http://chenzhou123520.iteye.com/blog/1925209?spm=5176.7189909.0.0.T3GyvL
如果memcached啟動成功,我們可以使用 ps -ef|grep memcached,查看是否啟動,如下所示:
1 root 14742 1 0 18:59 ? 00:00:00 /usr/local/bin/memcached -d -m 10 -u root -l 192.168.25.26 -p 14885 -c 256 -P /tmp/memcached.pid -vv 2 root 14806 3537 0 19:46 pts/2 00:00:00 grep memcached
第五步,關閉memcached服務,命令如下:
1 kill `cat /tmp/memcached.pid`
第六步,測試memcached,這里有兩個問題要說:
1.如果之前沒有使用過memcached,則可以參考http://www.rzrgm.cn/jeffwongishandsome/archive/2011/11/06/2238265.html 或者 http://www.yiibai.com/memcached/memcached_clear_data.html 這兩篇文章來學習memcached的基本命令。
2.我們下邊測試的時候,會用到telnet命令,很多linux環境默認是沒有telnet環境的,如果我們輸入telnet命令很有可能會碰到諸如 -bash:telnet:command not found 這樣的錯誤,我們可以通過以下步驟來安裝telnet環境:
(1).通過 rpm -qa|grep telnet 和 rpm -qa|grep telnet-server 這兩個命令確認是否安裝客戶端和服務器端,一般情況下,會默認有客戶端,沒有服務器端,而安裝memcached的這臺服務器必須要安裝telnet-server。
(2).yum -y install telnet 如果沒有不客戶端,安裝客戶端
(3).yum install telnet-server 安裝服務器端
(4).編輯/etc/xinetd.d/telnet, 將其中的 disable = yes 的yes改為no 修改配置
(5).service xinetd restart 重啟服務
3.解決了上邊的問題,我們可以實驗一把set命令,命令的參數參考我在1中提到的兩篇文章,詳細如下:
1 [root@localhost /]# telnet 192.168.25.26 14885 2 Trying 192.168.25.26... 3 Connected to 192.168.25.26 (192.168.25.26). 4 Escape character is '^]'. 5 set username 0 0 4 6 hero 7 STORED 8 get username 9 VALUE username 0 4 10 hero 11 END
浙公網安備 33010602011771號