Centos

多個 Memcached 伺服器 /etc/init.d 啟動腳本有效嗎?

  • February 15, 2012

我通過源安裝了 memcached 伺服器,並且可以為 1 個 memcached 伺服器實例安裝標準啟動腳本,但是通過 google 嘗試了幾個腳本,找不到一個可以管理多個 memcached 伺服器實例在啟動時自動啟動的腳本。我已經嘗試了這兩個腳本,但都不起作用, service memcached start 只是返回到命令提示符,沒有啟動 memcached 伺服器實例

  • lullabot.com/articles/installing-memcached-redhat-or-centos
  • addmoremem.blogspot.com/2010/09/running-multiple-instances-of-memcached.html

然而,這個 bash 腳本可以工作,但在啟動時不會啟動 memcached 實例?

#!/bin/sh
case "$1" in
start)
/usr/local/bin/memcached -d -m 16 -p 11211 -u nobody
/usr/local/bin/memcached -d -m 16 -p 11212 -u nobody
;;
stop) killall memcached
;;
esac

作業系統:Centos 5.5 64bit Memcached = v1.4.5 Memcache = v2.2.5

任何人都可以將我指向一個有效的 /etc/init.d/ 啟動腳本來管理多個 memcached 伺服器?謝謝

編輯:謝謝墊子,這是最終工作的程式碼

#!/bin/sh
# chkconfig: - 80 12
# description:  The memcached daemon is a network memory cache service.
# processname: memcached
BIN=/usr/local/bin/memcached
USER=nobody
CON=2048
THREADS=4

$BIN -d -m 16 -p 11211 -c $CON -t $THREADS -u $USER
$BIN -d -m 16 -p 11212 -c $CON -t $THREADS -u $USER

case "$1" in
start)
$BIN -d -m 16 -p 11211 -c $CON -t $THREADS -u $USER
$BIN -d -m 16 -p 11212 -c $CON -t $THREADS -u $USER
;;
stop) killall $BIN
;;
esac

要向 chkconfig 添加服務,您通常需要在 shell 腳本的 shebang 下方添加一些特殊註釋:

#!/bin/sh
# chkconfig: - 55 45
# description:  The memcached daemon is a network memory cache service.
# processname: memcached

將行添加到 /etc/init.d/memcached 後,您可以發出

chkconfig --add memcached

當然,程序可以從其他執行級別開始,以便檢查您是否會發出

chkconfig --list | grep "memcached"

memcached 的常見執行級別是

chkconfig --level 345 memcached on

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