一、系统及安装说明
系统: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
此种方式也可以加到启动项里。