前面讲了如何按照memcached缓存系统,并且也成功配置了PHP的缓存支持,当我们重启服务器后会发现memcached缓存服务并没有随之启动,还需要我们手动开启,这样十分不方便,百度很多开机自启脚本都有错误,或者不管用,找到一份memcached官方的自启脚本,内容如下,复制保存到服务器/etc/init.d目录下命名为memcached。
复制
#! /bin/sh # # chkconfig: - 55 45 # description: The memcached daemon is a network memory cache service. # processname: memcached # config: /etc/sysconfig/memcached # Source function library - for other linux #. /etc/rc.d/init.d/functions # Source function library - for SUSE linux . /lib/lsb/init-functions PORT=你的缓存服务端口 USER=root #最大连接数,根据实际需求修改 MAXCONN=256 #最大内存量,单位M CACHESIZE=128 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 prog="memcached" start () { echo -n $"Starting $prog: " # insure that /usr/local/memcached has proper permissions chown $USER /usr/local/bin/memcached /usr/local/bin/memcached -d -p $PORT -u $USER -m $CACHESIZE -c $MAXCONN -P /usr/local/memcached/memcached.pid $OPTIONS RETVAL=$? echo [ $RETVAL -eq 0 ] && touch /var/lock/subsys/memcached } stop () { echo -n $"Stopping $prog: " killproc memcached RETVAL=$? echo if [ $RETVAL -eq 0 ] ; then rm -f /var/lock/subsys/memcached rm -f /usr/local/memcached/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 $?
注意:上面的代码中/usr/local/bin/memcached是我的安装目录,需要替换成你们自己的,否则会出错启动不了。如果你是照着我前面的教程做的,可以不用修改,只需要改改memcached的端口即可。
上面需要配置的参数都用中文注释了,自己按需要修改即可。
修改文件权限
复制
chmod 755 /etc/init.d/memcached
将其加入系统服务
复制
chkconfig --add memcached
复制
chkconfig memcached on
memcached启动、停止、重启命令
复制
service memcached start service memcached stop service memcached restart
现在重启下服务器,终端输入netstat -tunlp,查看开放的端口,你的memcached服务端口是否开放了是否存在memcached相关字样,开放了一般就说明开机自启成功了。
评论 (0)