一、系統及安裝說明
系統:CentOS6.x_x64,memcached-1.5.3。memcached官方下載地址 http://www.memcached.org/files/memcached-1.5.3.tar.gz。libevent 庫:https://github.com/downloads/libevent/libevent/libevent-2.0.21-stable.tar.gz
二、開始安裝
1>首先yum安裝gcc
yum install -y wget gcc
2>安裝源碼libevent庫
#wget https://github.com/downloads/libevent/libevent/libevent-2.0.21-stable.tar.gz #tar zxvf libevent-2.0.21-stable.tar.gz #./configure --prefix=/usr/local/libevent #make && make install
#檢查是否安裝成功
#輸入: ls -al /usr/local/libevent/lib | grep libevent #如果輸出爲下所示則表示安裝成功 lrwxrwxrwx 1 root root 21 Dec 4 18:08 libevent-2.0.so.5 -> libevent-2.0.so.5.1.9 -rwxr-xr-x 1 root root 968442 Dec 4 18:08 libevent-2.0.so.5.1.9 -rw-r--r-- 1 root root 1571130 Dec 4 18:08 libevent.a lrwxrwxrwx 1 root root 26 Dec 4 18:08 libevent_core-2.0.so.5 -> libevent_core-2.0.so.5.1.9 -rwxr-xr-x 1 root root 585057 Dec 4 18:08 libevent_core-2.0.so.5.1.9 -rw-r--r-- 1 root root 977914 Dec 4 18:08 libevent_core.a -rwxr-xr-x 1 root root 985 Dec 4 18:08 libevent_core.la lrwxrwxrwx 1 root root 26 Dec 4 18:08 libevent_core.so -> libevent_core-2.0.so.5.1.9 lrwxrwxrwx 1 root root 27 Dec 4 18:08 libevent_extra-2.0.so.5 -> libevent_extra-2.0.so.5.1.9 -rwxr-xr-x 1 root root 404772 Dec 4 18:08 libevent_extra-2.0.so.5.1.9 -rw-r--r-- 1 root root 593288 Dec 4 18:08 libevent_extra.a -rwxr-xr-x 1 root root 992 Dec 4 18:08 libevent_extra.la lrwxrwxrwx 1 root root 27 Dec 4 18:08 libevent_extra.so -> libevent_extra-2.0.so.5.1.9 -rwxr-xr-x 1 root root 950 Dec 4 18:08 libevent.la lrwxrwxrwx 1 root root 29 Dec 4 18:08 libevent_openssl-2.0.so.5 -> libevent_openssl-2.0.so.5.1.9 -rwxr-xr-x 1 root root 94209 Dec 4 18:08 libevent_openssl-2.0.so.5.1.9 -rw-r--r-- 1 root root 131836 Dec 4 18:08 libevent_openssl.a -rwxr-xr-x 1 root root 1021 Dec 4 18:08 libevent_openssl.la lrwxrwxrwx 1 root root 29 Dec 4 18:08 libevent_openssl.so -> libevent_openssl-2.0.so.5.1.9 lrwxrwxrwx 1 root root 30 Dec 4 18:08 libevent_pthreads-2.0.so.5 -> libevent_pthreads-2.0.so.5.1.9 -rwxr-xr-x 1 root root 18462 Dec 4 18:08 libevent_pthreads-2.0.so.5.1.9 -rw-r--r-- 1 root root 18702 Dec 4 18:08 libevent_pthreads.a -rwxr-xr-x 1 root root 1013 Dec 4 18:08 libevent_pthreads.la lrwxrwxrwx 1 root root 30 Dec 4 18:08 libevent_pthreads.so -> libevent_pthreads-2.0.so.5.1.9 lrwxrwxrwx 1 root root 21 Dec 4 18:08 libevent.so -> libevent-2.0.so.5.1.9
3>下載安裝memcached
#wget #tar -zxvf memcached-1.5.3.tar.gz #./configure --prefix=/usr/local/memcached --with-libevent=/usr/local/libevent #make && make install #ln -s /usr/local/memcached/bin/memcached /usr/local/bin #建立軟連接
三、編輯腳本加入啓動項
1>腳本
vim cat /etc/init.d/memcached
#!/bin/sh # # memcached: MemCached Daemon # # chkconfig: - 90 25 # description: MemCached Daemon # Source function library. # Author: pkey san 2015/12/07 . /etc/rc.d/init.d/functions . /etc/sysconfig/network prog=memcached pidfile=${PIDFILE-/var/run/memcached.pid} start() { echo -n $"Starting memcached: " daemon --pidfile=${pidfile} /usr/local/bin/memcached -u daemon -d -m 512 -l 127.0.0.1 -c 4096 -p 11211 echo `ps aux |grep memcached |grep 11211 |grep -v grep |awk '{print $2}'` >$pidfile echo } stop() { echo -n $"Shutting down memcached: " killproc $prog echo } rh_status(){ status -p ${pidfile} $prog } [ -f /usr/local/bin/memcached ] || exit 0 # See how we were called. case "$1" in start) start ;; stop) stop ;; status) rh_status ;; restart|reload) stop start ;; *) echo $"Usage: $0 {start|stop|status|restart|reload|}" exit 1 esac exit 0
2>解釋說明
daemon --pidfile=${pidfile} /usr/local/bin/memcached -u daemon -d -m 512 -l 127.0.0.1 -c 4096 -p 11211
-p memcached監聽的TCP端口
-l 監聽的ip地址,127.0.0.1是本機,當然也可以寫上你的服務器IP,如:10.0.0.10,這是我服務器的IP地址,如果你需要多個服務器都能夠讀取這臺memcached的緩存數據,那麼就必須設定這個ip
-d 以daemon方式運行,將程序放入後臺
-u memcached的運行用戶
-P memcached的pid文件路徑
-m memcached可以使用的最大內存數量
-c memcached同時可以接受的最大的連接數
如果你希望以socket方式來訪問memcached,那麼在啓動的時候就必須去掉 -l和-p參數,並加上-s參數:
-s memcached的socket文件路徑
3>添加開機啓動
#chmod +x /etc/init.d/memcached #chkconfig --add memcached #chkconfig memcached on #service memcached start|stop|restart|reload|status
三、編譯配置(第二種啓動方式)
#安裝好之後 ln -s /usr/local/memcached/bin/memcached /usr/bin/memcached /bin/cp scripts/memcached.sysv /etc/init.d/memcached sed -i 's@^USER=.*@USER=root@' /etc/init.d/memcached sed -i 's@chown@#chown@' /etc/init.d/memcached sed -i 's@/var/run/memcached/memcached.pid@/var/run/memcached.pid@' /etc/init.d/memcached sed -i 's@^prog=.*@prog="/usr/local/memcached/bin/memcached"@' /etc/init.d/memcached #前面有軟鏈接,這裏可以省略 chmod +x /etc/init.d/memcached chkconfig --add memcached chkconfig memcached on
此種方式也可以加到啓動項裏。