Centos

配置memcache的正確方法

  • August 22, 2013

我正在嘗試更改 CentOS 環境中的 memcache 記憶體大小限制。我檢查了其他問題,發現應該是一個文件,它主要在下面/etc/sysconfig/memcached,如果不是,我應該能夠用locate.

兩者都不適合我。它找到的唯一文件在/root/rpms/memcached-1.4.5/t/sasl/memcached.confAnd 似乎沒有任何對記憶體限制的引用。

當我啟動 memcache 時,我通過命令行設置它,如下所示:

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

我假設這意味著我沒有使用任何配置設置文件,添加一個可能會更好。如何添加這樣的文件並讓 memcached start 使用它的配置。

嘗試查找配置文件rpm -q memcached -c

如果您在 /etc/init.d/ 中有用於 memcached 的初始化腳本,那麼您可以查看它是否嘗試載入任何配置文件,如果沒有,或者沒有您可以創建的初始化腳本。

這是我的 memcached 的初始化腳本範例:

#!/bin/sh
#
# chkconfig: - 55 45
# 描述:memcached 守護程序是一個網路記憶體記憶體服務。
# 程序名:memcached
# 配置:/etc/sysconfig/memcached
# pidfile: /var/run/memcached/memcached.pid

# 標準 LSB 函式
#. /lib/lsb/init 函式

# 源函式庫。
. /etc/init.d/functions

埠=11211
使用者=記憶體記憶體
MAXCONN=1024
記憶體大小=64
選項=""

如果 [ -f /etc/sysconfig/memcached ];那麼
. /etc/sysconfig/memcached
是

# 檢查網路是否已啟動。
. /etc/sysconfig/網路

如果[“$網路”=“否”]
然後
出口 0
是

RETVAL=0
prog="memcached"
pidfile=${PIDFILE-/var/run/memcached/memcached.pid}
lockfile=${LOCKFILE-/var/lock/subsys/memcached}

開始 () {
echo -n $"開始 $prog:"
# 確保$pidfile 目錄有適當的權限並且存在
piddir=`目錄名$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}
}
停止 () {
echo -n $"停止 $prog:"
killproc -p ${pidfile} /usr/bin/memcached
RETVAL=$?
迴聲
如果 [ $RETVAL -eq 0 ] ; 然後
rm -f ${lockfile} ${pidfile}
是
}

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


# 看看我們是怎麼稱呼的。
案例“$1”在
開始)
開始
;;
停止)
停止
;;
地位)
狀態 -p ${pidfile} 記憶體記憶體
RETVAL=$?
;;
重新啟動|重新載入|強制重新載入)
重新開始
;;
condrestart|嘗試重啟)
[ -f ${lockfile} ] && 重啟 || :
;;
*)
echo $"用法:$0 {start|stop|status|restart|reload|force-reload|condrestart|try-restart}"
RETVAL=2
;;
經社理事會

退出 $RETVAL

您可以看到 init 腳本正在嘗試在此處載入配置文件:

如果 [ -f /etc/sysconfig/memcached ];那麼
. /etc/sysconfig/memcached
是

您可以嘗試複製此腳本並製作配置文件 /etc/sysconfig/memcached 這是範例配置:

埠="66266"
使用者=“記憶體記憶體”
MAXCONN="1024"
記憶體大小="2048"
選項=""

製作初始化腳本(不要忘記 chmod +x /etc/init.d/memcached)和配置文件後,您將能夠啟動 memcachedservice memcached start

之後,您可以將此初始化腳本添加到 chkconfig,然後系統將在重新啟動後自動啟動 memcached。

chkconfid -添加記憶體記憶體
chkconfig memcached on

引用自:https://serverfault.com/questions/532909