一, 查看安装的memcached版本:yum list memcached。如果已经存在,且版本符合自己的需求,则可以直接使用,如果不符合自己的需求,则可以通过yum remove memcached进行卸载。如果不存在,则在centos6下可以直接使用yum install memcached进行一键安装,不过通过这种方式安装的版本可能不是最新的。如果需要最新的版本可以按下面的步骤进行安装。
二,memcached服务器当前最新版本(1.4.13)的安装:
1)用到的软件包:
libevent-2.0.19-stable.tar.gz(下载地址:http://libevent.org/或直接下载https://github.com/downloads/libevent/libevent/libevent-2.0.19-stable.tar.gz)
memcached-1.4.13.tar.gz(下载地址:http://memcached.org/或直接下载http://memcached.googlecode.com/files/memcached-1.4.13.tar.gz)
2)下载软件包:
[root@hxqlinux ~]# cd /tmp
[root@hxqlinux tmp]# wget https://github.com/downloads/libevent/libevent/libevent-2.0.19-stable.tar.gz
[root@hxqlinux tmp]# wget http://memcached.googlecode.com/files/memcached-1.4.13.tar.gz
3)先安装libevent(memcached依赖libevent):
[root@hxqlinux tmp]# tar zxvf libevent-2.0.19-stable.tar.gz
[root@hxqlinux tmp]# cd libevent-2.0.19-stable
[root@hxqlinux libevent-2.0.17-stable]# ./configure --prefix=/usr
[root@hxqlinux libevent-2.0.17-stable]# make
[root@hxqlinux libevent-2.0.17-stable]# make install
4) 测试libevent是否安装成功:
[root@hxqlinux libevent-2.0.17-stable]# ls -al /usr/lib |grep libevent
看到类似下面的内容,说明libevent安装成功:
lrwxrwxrwx 1 root root 21 6月 12 17:32 libevent-2.0.so.5 -> libevent-2.0.so.5.1.7
-rwxr-xr-x 1 root root 947343 6月 12 17:32 libevent-2.0.so.5.1.7
-rw-r--r-- 1 root root 1846602 6月 12 17:32 libevent.a
lrwxrwxrwx 1 root root 26 6月 12 17:32 libevent_core-2.0.so.5 -> libevent_core-2.0.so.5.1.7
-rwxr-xr-x 1 root root 576220 6月 12 17:32 libevent_core-2.0.so.5.1.7
-rw-r--r-- 1 root root 1173306 6月 12 17:32 libevent_core.a
-rwxr-xr-x 1 root root 983 6月 12 17:32 libevent_core.la
lrwxrwxrwx 1 root root 26 6月 12 17:32 libevent_core.so -> libevent_core-2.0.so.5.1.7
lrwxrwxrwx 1 root root 27 6月 12 17:32 libevent_extra-2.0.so.5 -> libevent_extra-2.0.so.5.1.7
-rwxr-xr-x 1 root root 393023 6月 12 17:32 libevent_extra-2.0.so.5.1.7
-rw-r--r-- 1 root root 673368 6月 12 17:32 libevent_extra.a
-rwxr-xr-x 1 root root 990 6月 12 17:32 libevent_extra.la
lrwxrwxrwx 1 root root 27 6月 12 17:32 libevent_extra.so -> libevent_extra-2.0.so.5.1.7
-rwxr-xr-x 1 root root 948 6月 12 17:32 libevent.la
lrwxrwxrwx 1 root root 29 6月 12 17:32 libevent_openssl-2.0.so.5 -> libevent_openssl-2.0.so.5.1.7
-rwxr-xr-x 1 root root 89922 6月 12 17:32 libevent_openssl-2.0.so.5.1.7
-rw-r--r-- 1 root root 163260 6月 12 17:32 libevent_openssl.a
-rwxr-xr-x 1 root root 1019 6月 12 17:32 libevent_openssl.la
lrwxrwxrwx 1 root root 29 6月 12 17:32 libevent_openssl.so -> libevent_openssl-2.0.so.5.1.7
lrwxrwxrwx 1 root root 30 6月 12 17:32 libevent_pthreads-2.0.so.5 -> libevent_pthreads-2.0.so.5.1.7
-rwxr-xr-x 1 root root 17861 6月 12 17:32 libevent_pthreads-2.0.so.5.1.7
-rw-r--r-- 1 root root 17846 6月 12 17:32 libevent_pthreads.a
-rwxr-xr-x 1 root root 1011 6月 12 17:32 libevent_pthreads.la
lrwxrwxrwx 1 root root 30 6月 12 17:32 libevent_pthreads.so -> libevent_pthreads-2.0.so.5.1.7
lrwxrwxrwx 1 root root 21 6月 12 17:32 libevent.so -> libevent-2.0.so.5.1.7
5) 安装memcached:
[root@hxqlinux tmp]# tar zxvf memcached-1.4.13.tar.gz
[root@hxqlinux tmp]# cd memcached-1.4.13
[root@hxqlinux memcached-1.4.13]# ./configure --with-libevent=/usr
[root@hxqlinux memcached-1.4.13]# make
[root@hxqlinux memcached-1.4.13]# make install
6) 测试memcached是否安装成功:
[root@hxqlinux memcached-1.4.13]# ls -al /usr/local/bin/memcached
看到类似下面的内容,说明memcached安装成功:
-rwxr-xr-x 1 memcached root 288988 6月 12 17:33 /usr/local/bin/memcached
三, memcached服务器的启动和关闭:
1,直接的命令行方式:
1) 启动和查看是否启动:
[root@hxqlinux ~]# /usr/local/bin/memcached -d -m 128 -u root -p 11211 -c 256 -P /var/run/memcached1.pid
[root@hxqlinux ~]# ps aux|grep memcached
看到类似下面的内容,说明memcached1启动成功:
493 31124 0.0 0.4 332044 16852 ? Ssl 19:15 0:00 /usr/local/bin/memcached -d -p 11211 -u memcached -m 64 -c 1024 -P /var/run/memcached2.pid
2)关闭:
[root@hxqlinux ~]# kill `cat /var/run/memcached1.pid`
再通过ps aux|grep memcached进行查看
2,服务的方式:
1)新建启动和关闭脚本并赋执行权限:
[root@hxqlinux ~]# cp /tmp/memcached-1.4.13/scripts/memcached.sysv /etc/init.d/memcached
[root@hxqlinux ~]# chmod 755 /etc/init.d/memcached
2)修改/etc/init.d/memcached文件(只列出了需要修改的内容):
将
PORT=11211
USER=nobody
MAXCONN=1024
CACHESIZE=64
OPTIONS=""
改为
PORT=11211
USER=mecached
MAXCONN=1024
CACHESIZE=64
OPTIONS=""
将
chown $USER /var/run/memcached
daemon memcached -d -p $PORT -u $USER -m $CACHESIZE -c $MAXCONN -P /var/run/memcached/memcached.pid $OPTIONS
改为
chown $USER /usr/local/bin/memcached
/usr/local/bin/memcached -d -p $PORT -u $USER -m $CACHESIZE -c $MAXCONN -P /var/run/memcached2.pid $OPTIONS
3)加入系统服务,并启动memcached服务,同时查看memcached服务是否启动成功:
[root@hxqlinux ~]# chkconfig --add memcached
[root@hxqlinux ~]# chkconfig --level 235 memcached on
[root@hxqlinux ~]# chkconfig --list memcached
4)启动memcached服务器并检查memcached是否启动,关闭memcached:
[root@hxqlinux ~]# service memcached start
[root@hxqlinux ~]# ps aux|grep memcached
[root@hxqlinux ~]# service memcached stop
四, 测试外部是否可以访问memcached服务器:
通过telnet ip port来测试memcached是否可以访问,如果不能访问,应该是centos6的防火墙问题,进行如下修改:
[root@hxqlinux ~]# iptables -I INPUT -p tcp --dport 11211 -j ACCEPT;
[root@hxqlinux ~]# iptables -I OUTPUT -p tcp --sport 11211 -j ACCEPT;
[root@hxqlinux ~]# iptables-save
[root@hxqlinux ~]# service iptables save;
此时外部程序应该可以访问memcached 服务器了
五, 注意:
1,安装libevent的时候最好指定--prefix=/usr, 不然在安装memcached的时候可能会报找不到libevent的错误。
2,至于windows下的安装,请参考:http://blog.csdn.net/zhangking/article/details/7104668
3,也可以通过netstat -anp|grep 1121* 来查看memcache是否启动