在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

相关推荐