Linux--memcached添加为系统服务

来源:互联网 发布:简单java加密解密 编辑:程序博客网 时间:2024/04/28 17:12
memcached安装(YUM):
--------------------------------------------------------------
我用的是CentOS,直接用YUM安装,以备以后更新,卸载方便:

yum install libevent
这个是第一步,

第二步是安装memcache,但是标准的CentOS5软件仓库里面是没有memcache相应的包的,所以,我们的第一步就是导入第三方软件仓库,这里推荐的是 Dag Wieers 库(现在叫 RPMForge 了),安装方法如下:

wget http://dag.wieers.com/rpm/packages/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.i386.rpm
rpm -ivh rpmforge-release-0.3.6-1.el5.rf.i386.rpm
查找相关软件包
yum search memcache
有了,现在可以安装了
yum -y install –enablerepo=rpmforge memcached php-pecl-memcache
验证一下安装结果
memcached -h
php -m|grep memcache
启动memcached
/sbin/servive memcached start
安装完后 memcached 就直接是服务了,可以用命令:
chkconfig --list 
查看系统服务列表。如果memcached对应的3,4,5都是on表明它已经是开机自动启动了,如果不是:
设置为开机自动启动:
chkconfig --level 345 memcached on
--------------------------------------------------------------
如果不是用 YUM 方式安装的,安装完成后,则需要自己把它添加到系统服务中,首先,在/etc/init.d目录下建立自己的文件:memcached
touch memcached
然后编辑:
vi memcached
输入如下内容:
#!/bin/sh
# chkconfig: 235 11211 15  
# 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
# 此值为允许 memcached使用的最大内存,单位为 Mb
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/memcached/bin/memcached 
    /usr/local/memcached/bin/memcached -d -p $PORT -u $USER -m $CACHESIZE -c $MAXCONN -P/tmp/memcached1.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 /tmp/memcached1.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 0

保存并退出。
注意上面红色部分的路径,必须保证这里填写的是自己memcached安装完成后的memcached执行文件路径.
然后执行命令:
chkconfig --add memcached
或试试:chkconfig memcached on
然后查看系统服务.在我机器上成功了,其他的就不知道了。我的系统版本是:CentOS 5.0

另一个配置文件:
#! /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=memcached
MAXCONN=1024
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-/var/run/memcached/memcached.pid}
lockfile=${LOCKFILE-/var/lock/subsys/memcached}

start () {
echo -n $"Starting $prog: "
# Ensure that /var/run/memcached has proper permissions
if [ "`stat -c %U /var/run/memcached`" != "$USER" ]; then
chown $USER /var/run/memcached
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

0 0
原创粉丝点击