由于Memcached是用libevent库来处理很多打开的连接,所以要先安装libevent。
(libevent API提供了一种执行回调函数的机制,使一个文件描述符触发了某个事件或者在达到超时之后执行这个回调函数。)
下载libevent,最新版本为libevent-1.4.7-stable
解压缩并安装
# tar zxvf libevent-1.4.7-stable.tar.gz
# cd libevent-1.4.7-stable
# ./configure --prefix=/usr
# make
# make install
2.安装memcached
下载memcached,最新版本为memcached-1.2.6
解压缩并安装
# tar zxvf memcached-1.2.6.tar.gz
# cd memcached-1.2.6
# ./configure --with-libevent=/usr
# make
# make install
3.启动memcached
参数说明:
-d 启动为守护进程
-m <num> 分配给Memcached使用的内存数量,单位是MB,默认为64MB
-u <username> 运行Memcached的用户,仅当作为root运行时
-l <ip_addr> 监听的服务器IP地址,默认为环境变量INDRR_ANY的值
-p <num> 设置Memcached监听的端口,最好是1024以上的端口
-c <num> 设置最大并发连接数,默认为1024
-P <file> 设置保存Memcached的pid文件,与-d选择同时使用
-p 监听的端口
-l 连接的IP地址, 默认是本机
-d start 启动memcached服务
-d restart 重起memcached服务
-d stop|shutdown 关闭正在运行的memcached服务
-d install 安装memcached服务
-d uninstall 卸载memcached服务
-u 以的身份运行 (仅在以root运行的时候有效)
-m 最大内存使用,单位MB。默认64MB
-M 内存耗尽时返回错误,而不是删除项
-c 最大同时连接数,默认是1024
-f 块大小增长因子,默认是1.25
-n 最小分配空间,key+value+flags默认是48
-h 显示帮助
4.结束memcached
注意:命令中的“`”不是单引号,而是键盘“~”键的单点符号。
四、配置memcached自启动
1.编写memcached自启动脚本或直接使用memcached安装包中的脚本(位置如下,本文使用官方自带的脚本)
2.修改自启动脚本(红色部分标识)
#! /bin/sh # # chkconfig: - 55 45 # description: The memcached daemon is a network memory cache service. # processname: memcached # config: /etc/sysconfig/memcached # Source function library. . /etc/rc.d/init.d/functions PORT=11211 USER=root MAXCONN=1024 CACHESIZE=64 OPTIONS="" if [ -f /etc/sysconfig/memcached ];then . /etc/sysconfig/memcached fi # Check that networking is up. if [ "$NETWORKING" = "no" ] then exit 0 fi RETVAL=0 start () { echo "Starting memcached ..." # insure that /var/run/memcached has proper permissions chown $USER /usr/local/bin/memcached /usr/local/bin/memcached -d -p $PORT -u $USER -m $CACHESIZE -c $MAXCONN -P /var/run/memcached.pid $OPTIONS RETVAL=$? echo [ $RETVAL -eq 0 ] && touch /var/lock/subsys/memcached } stop () { echo "Stopping memcached ..." killproc memcached RETVAL=$? echo if [ $RETVAL -eq 0 ] ; then rm -f /var/lock/subsys/memcached rm -f /var/run/memcached.pid fi } restart () { stop start } # See how we were called. case "$1" in start) start ;; stop) stop ;; status) status memcached ;; restart|reload) restart ;; condrestart) [ -f /var/lock/subsys/memcached ] && restart || : ;; *) echo $"Usage: $0 {start|stop|status|restart|reload|condrestart}" exit 1 esac exit $? |
3.将此脚本呢cp到/etc/init.d目录下并改名为memcached,然后执行chmod a+x memcached,如下:
shell > cp memcached.sysv /etc/init.d/memcached
shell > chmod 755 /etc/init.d/memcached
4.将memcached加入系统服务:
shell > chkconfig --add memcached
shell > chkconfig memcached on
5.以服务方式运行memcached
shell > service memcached start
以上如成功则重启下系统后查看下memcached是否已随系统启动