在Linux上安装Memcached服务
下载并安装Memcache服务器端
服务器端主要是安装memcache服务器端.
下载:http://www.danga.com/memcached/dist/memcached-1.2.2.tar.gz
另外,Memcache用到了libevent这个库用于Socket的处理,所以还需要安装libevent,libevent的最新版本是libevent-1.3。(如果你的系统已经安装了libevent,可以不用安装)
官网:http://www.monkey.org/~provos/libevent/
下载:http://www.monkey.org/~provos/libevent-1.3.tar.gz
用wget指令直接下载这两个东西.下载回源文件后。
1.先安装libevent。这个东西在配置时需要指定一个安装路径,即./configure–prefix=/usr;然后make;然后makeinstall;
2.再安装memcached,只是需要在配置时需要指定libevent的安装路径即./configure–with-libevent=/usr;然后make;然后makeinstall;
这样就完成了Linux下Memcache服务器端的安装。详细的方法如下:
1.分别把memcached和libevent下载回来,放到/tmp目录下:
#cd/tmp
#wgethttp://www.danga.com/memcached/dist/memcached-1.2.0.tar.gz
#wgethttp://www.monkey.org/~provos/libevent-1.2.tar.gz
2.先安装libevent:
#tarzxvflibevent-1.2.tar.gz
#cdlibevent-1.2
#./configure–prefix=/usr
#make
#makeinstall
3.测试libevent是否安装成功:
#ls-al/usr/lib|greplibevent
lrwxrwxrwx1rootroot2111??1217:38libevent-1.2.so.1->libevent-1.2.so.1.0.3
-rwxr-xr-x1rootroot26354611??1217:38libevent-1.2.so.1.0.3
-rw-r–r–1rootroot45415611??1217:38libevent.a
-rwxr-xr-x1rootroot81111??1217:38libevent.la
lrwxrwxrwx1rootroot2111??1217:38libevent.so->libevent-1.2.so.1.0.3
还不错,都安装上了。
4.安装memcached,同时需要安装中指定libevent的安装位置:
#cd/tmp
#tarzxvfmemcached-1.2.0.tar.gz
#cdmemcached-1.2.0
#./configure–with-libevent=/usr
#make
#makeinstall
如果中间出现报错,请仔细检查错误信息,按照错误信息来配置或者增加相应的库或者路径。
安装完成后会把memcached放到/usr/local/bin/memcached,
5.测试是否成功安装memcached:
#ls-al/usr/local/bin/mem*
-rwxr-xr-x1rootroot13798611??1217:39/usr/local/bin/memcached
-rwxr-xr-x1rootroot14017911??1217:39/usr/local/bin/memcached-debug
启动Memcached服务:
1.启动Memcache的服务器端:
#/usr/local/bin/memcached-d-m10-uroot-l192.168.141.64-p12000-c256-P/tmp/memcached.pid
-d选项是启动一个守护进程,
-m是分配给Memcache使用的内存数量,单位是MB,我这里是10MB,
-u是运行Memcache的用户,我这里是root,
-l是监听的服务器IP地址,如果有多个地址的话,我这里指定了服务器的IP地址192.168.0.200,
-p是设置Memcache监听的端口,我这里设置了12000,最好是1024以上的端口,
-c选项是最大运行的并发连接数,默认是1024,我这里设置了256,按照你服务器的负载量来设定,
-P是设置保存Memcache的pid文件,我这里是保存在/tmp/memcached.pid,
2.如果要结束Memcache进程,执行:
#kill`cat/tmp/memcached.pid`
也可以启动多个守护进程,不过端口不能重复。
至此Memcached安装成功!
4、设置redis开机启动
编辑如下脚本
chmod755/etc/init.d/memcached#添加脚本执行权限
chkconfig--addmemcached#添加开启启动
脚本
#!/bin/bash
#=======================================================================================
#chkconfig:23450892
#description:Distributedmemorycachingdaemon
#processname:memcached
#=======================================================================================
#IPADDR=`/sbin/ifconfigeth0|awk-F':''/inetaddr/{print$2}'|sed's/[a-zA-Z]//g'`
#IPADDR=127.0.0.1
PORT="11211"
USER="root"
SIZE="256"
CONNNUM="100"
PIDFILE="/var/run/memcached.pid"
BINFILE="/usr/local/bin/memcached"
LOCKFILE="/var/lock/subsys/memcached"
RETVAL=0
source/etc/init.d/functions
start(){
echo-n$"Startingmemcached......"
daemon$BINFILE-d-p$PORT-u$USER-m$SIZE-c$CONNNUM-P$PIDFILE
RETVAL=$?
echo
[$RETVAL-eq0]&&touch$LOCKFILE
return$RETVAL
}
stop(){
echo-n$"Shuttingdownmemcached......"
killproc$BINFILE
RETVAL=$?
echo
[$RETVAL-eq0]&&rm-f$LOCKFILE
return$RETVAL
}
restart(){
stop
sleep1
start
}
reload(){
echo-n$"Reloadingmemcached......"
killproc$BINFILE-HUP
RETVAL=$?
echo
return$RETVAL
}
case"$1"in
start)
start
;;
stop)
stop
;;
restart)
restart
;;
condrestart)
[-e$LOCKFILE]&&restart
RETVAL=$?
;;
reload)
reload
;;
status)
status$prog
RETVAL=$?
;;
*)
echo"Usage:$0{start|stop|restart|condrestart|status}"
RETVAL=1
esac
exit$RETVAL