1、下载memcached服务器端安装文件,版本: memcached-1.4.13.tar.gz memcached下载地址 http://memcached.org/
2、下载libevent,memcached需要用到socked,依赖此安装文件。版本: libevent-1.4.12-stable.tar.gz libevent 下载地址:http://www.monkey.org/~provos/libevent/
3、由于linux系统可能默认已经安装libevent,执行命令:
rpm -qa|grep libevent
查看系统是否带有该安装软件。如果有执行命令:
rpm -e libevent-1.1a-3.2.1 --nodeps(由于系统自带的版本旧,忽略依赖删除)
4、安装libevent,
tar zxvf libevent-2.0.19-stable.tar.gz
cd libevent-2.0.19-stable
./configure --prefix=/usr/local/libevent
make && make install
5、安装memcached
tar zxvf memcached-1.4.2.tar.gz
cd memcached-1.4.2
./configure --prefix=/usr/local/memcached --with-libevent=/usr/local/libevent/
make && make install
至此memcached安装完毕
6、测试
当启动memcached时经常不能发现libevent.so;可以通过以下命令检查:
进入/usr/local/memcached/bin目录
7、memcached服务端自动启动 配置
vi /etc/rc.d/init.d/memcached
脚本如下
#! /bin/sh
#
# chkconfig: - 55 45
# description: The memcached daemon is a network memory cache service.
# processname: memcached
# config: /etc/sysconfig/memcached
# pidfile: /var/run/memcached/memcached.pid
# Standard LSB functions
#. /lib/lsb/init-functions
# Source function library.
. /etc/init.d/functions
PORT=11211
USER=root
MAXCONN=4096
CACHESIZE=2048
OPTIONS=""
if [ -f /etc/sysconfig/memcached ];then
. /etc/sysconfig/memcached
fi
# Check that networking is up.
. /etc/sysconfig/network
if [ "$NETWORKING" = "no" ]
then
exit 0
fi
RETVAL=0
prog="memcached"
pidfile=${PIDFILE-/tep/memcached.pid}
lockfile=${LOCKFILE-/usr/local/bin/memcached}
start () {
echo -n $"Starting $prog: "
# Ensure that $pidfile directory has proper permissions and exists
piddir=`dirname $pidfile`
if [ ! -d $piddir ]; then
mkdir $piddir
fi
if [ "`stat -c %U $piddir`" != "$USER" ]; then
chown $USER $piddir
fi
daemon --pidfile ${pidfile} memcached -d -p $PORT -u $USER -m $CACHESIZE -c $MAXCONN -P ${pidfile} $OPTIONS
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && touch ${lockfile}
}
stop () {
echo -n $"Stopping $prog: "
killproc -p ${pidfile} /usr/bin/memcached
RETVAL=$?
echo
if [ $RETVAL -eq 0 ] ; then
rm -f ${lockfile} ${pidfile}
fi
}
restart () {
stop
start
}
# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
status)
status -p ${pidfile} memcached
RETVAL=$?
;;
restart|reload|force-reload)
restart
;;
condrestart|try-restart)
[ -f ${lockfile} ] && restart || :
;;
*)
echo $"Usage: $0 {start|stop|status|restart|reload|force-reload|condrestart|try-restart}"
RETVAL=2
;;
esac
exit $RETVAL
ln -s /usr/local/memcached/bin/memcached /usr/local/bin/memcached
ln -s /usr/local/memcached/bin/memcached /usr/bin/memcached
chmod ug+x /etc/rc.d/init.d/memcached
chkconfig memcached on #设置开机时自动运行
接下来,可以用以下命令启动与停止 memcached
/etc/rc.d/init.d/memcached start
/etc/rc.d/init.d/memcached stop
/etc/rc.d/init.d/memcached restart
然后,可以用ps命令查看进程信息。
ps aux | grep mem
启动参数说明:
- -d 选项是启动一个守护进程,
- -m 是分配给Memcache使用的内存数量,单位是MB,默认64MB
- -M return error on memory exhausted (rather than removing items)
- -u 是运行Memcache的用户,如果当前为root 的话,需要使用此参数指定用户。
- -l 是监听的服务器IP地址,默认为所有网卡。
- -p 是设置Memcache的TCP监听的端口,最好是1024以上的端口
- -c 选项是最大运行的并发连接数,默认是1024
- -P 是设置保存Memcache的pid文件
- -fchunk size growth factor (default: 1.25)
- -I Override the size of each slab page. Adjusts max item size(1.4.2版本新增)
也可以启动多个守护进程,但是端口不能重复