正确的方式来configurationmemcache

我试图改变我的CentOS环境中的memcache内存大小限制。 我已经检查了其他问题,发现那里应该是一个文件,它主要是在/etc/sysconfig/memcached ,如果没有,我应该能够find它与locate

两者都没有为我工作。 它find的唯一文件是/root/rpms/memcached-1.4.5/t/sasl/memcached.conf而且似乎没有任何引用内存限制。

当我开始memcache,我通过这样的命令行设置它:

 memcached -d -m 2048 -u root -l 0.0.0.0 -p 11211 

我想这意味着我只是没有使用任何configuration设置文件,它可能会更好地添加一个。 如何添加这样的文件,并使memcached开始使用其configuration。

尝试使用rpm -q memcached -c查找configuration文件

如果你在/etc/init.d/中有memcached的初始化脚本,那么你可以看看它是否尝试加载任何configuration文件,如果没有,或者没有init脚本,你可以创build一个。

这是我的memcached的初始化脚本的例子:

 #!  / bin / sh的
 #
 #chkconfig: -  55 45
 #description:memcached守护进程是一个networking内存caching服务。
 #processname:memcached
 #config:/ etc / sysconfig / memcached
 #pidfile:/var/run/memcached/memcached.pid

 #标准LSBfunction
 #。  / LIB / LSB / INIT-function

 #源函数库。
 。  /etc/init.d/functions

 PORT = 11211
 USER =的memcached
 MAXCONN = 1024
 CACHESIZE = 64
 OPTIONS = “”

如果[-f / etc / sysconfig / memcached];那么
         。 的/ etc / SYSCONFIG /分布式caching
科幻

 #检查networking连接是否正常。
 。 的/ etc / SYSCONFIG /networking

如果[“$ NETWORKING”=“no”]
然后
        退出0
科幻

 RETVAL = 0
 PROG = “分布式caching”
 pidfile进程文件= $ {PIDFILE-在/ var /运行/分布式caching/ memcached.pid}
锁文件= $ {LOCKFILE-的/ var /locking/ SUBSYS /分布式caching}

 start(){
         echo -n $“Starting $ prog:”
         #确保$ pidfile目录具有适当的权限并存在
         piddir =`dirname $ pidfile`
        如果[!  -d $ piddir]; 然后
                 mkdir $ piddir
        科幻
         if [“`stat -c%U $ piddir`”!=“$ USER”]; 然后
                 chown $ USER $ piddir
        科幻

        守护进程--pidfile $ {pidfile} memcached -d -p $ PORT -u $ USER -m $ CACHESIZE -c $ MAXCONN -P $ {pidfile} $ OPTIONS
         RETVAL = $?
        回声
         [$ RETVAL -eq 0] && touch $ {lockfile}
 }
停止 () {
        回声-n $“停止$ prog:”
         killproc -p $ {pidfile} / usr / bin / memcached
         RETVAL = $?
        回声
        如果[$ RETVAL -eq 0]; 然后
                 rm -f $ {lockfile} $ {pidfile}
        科幻
 }

重新开始 () {
        停止
        开始
 }


看看我们如何被称为。
在“1美元”的情况下
  开始)
        开始
         ;;
  停止)
        停止
         ;;
  状态)
        状态-p $ {pidfile} memcached
         RETVAL = $?
         ;;
  重新启动|重装|力重载)
        重新开始
         ;;
   condrestart |尝试重启)
         [-f $ {lockfile}] && restart ||  :
         ;;
   *)
         echo $“用法:$ 0 {start | stop | status | restart | reload | force-reload | condrestart | try-restart}”
         RETVAL = 2
         ;;
 ESAC

退出$ RETVAL

你可以看到init脚本正在尝试加载configuration文件这个地方:

如果[-f / etc / sysconfig / memcached];那么
         。 的/ etc / SYSCONFIG /分布式caching
科幻

您可以尝试复制这个脚本,并使configuration文件/ etc / sysconfig / memcached这是示例configuration:

 PORT = “66266”
 USER = “分布式caching”
 MAXCONN = “1024”
 CACHESIZE = “2048”
 OPTIONS = “”

在创buildinit脚本之后(不要忘记chmod + x /etc/init.d/memcached)和configuration文件,您将能够启动memcached service memcached start

之后,您可以将此初始化脚本添加到chkconfig,然后系统将在重新启动后自动启动memcached。

 chkconfid -add memcached
在chkconfig的memcached上