Ubuntu 11.04 上的多个 memcached bin

Ubuntu 11.04 上的多个 memcached bin

我刚刚在 ubuntu 11.04(我的开发服务器)上安装了 memcached。在安装过程中,脚本安排 memcached 在启动时自动启动。太好了,正是我需要的。

除此之外,我需要 2 个(或可能是 3 个)不同的 memcached bin(换句话说,一个在端口 11211 上,一个在 11212 上),但我找不到在哪里配置 ubuntu 以在启动时启动两个 memcached 实例......

我目前正在使用 memcached 1.4.5

根据要求,我的 /etc/init.d/memcached 文件如下所示:

#! /bin/sh
### BEGIN INIT INFO
# Provides:             memcached
# Required-Start:       $remote_fs $syslog
# Required-Stop:        $remote_fs $syslog
# Should-Start:         $local_fs
# Should-Stop:          $local_fs
# Default-Start:        2 3 4 5
# Default-Stop:         0 1 6
# Short-Description:    Start memcached daemon
# Description:          Start up memcached, a high-performance memory caching daemon
### END INIT INFO


PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/bin/memcached
DAEMONBOOTSTRAP=/usr/share/memcached/scripts/start-memcached
NAME=memcached
DESC=memcached
PIDFILE=/var/run/$NAME.pid

test -x $DAEMON || exit 0
test -x $DAEMONBOOTSTRAP || exit 0

set -e

. /lib/lsb/init-functions

# Edit /etc/default/memcached to change this.
ENABLE_MEMCACHED=no
test -r /etc/default/memcached && . /etc/default/memcached

case "$1" in
  start)
        echo -n "Starting $DESC: "
  if [ $ENABLE_MEMCACHED = yes ]; then
        start-stop-daemon --start --quiet --exec $DAEMONBOOTSTRAP
        echo "$NAME."
        else
                echo "$NAME disabled in /etc/default/memcached."
        fi
        ;;
  stop)
        echo -n "Stopping $DESC: "
        start-stop-daemon --stop --quiet --oknodo --pidfile $PIDFILE --exec $DAEMON
        echo "$NAME."
        rm -f $PIDFILE
        ;;

  restart|force-reload)
        #
        #       If the "reload" option is implemented, move the "force-reload"
        #       option to the "reload" entry above. If not, "force-reload" is
        #       just the same as "restart".
        #
        echo -n "Restarting $DESC: "
        start-stop-daemon --stop --quiet --oknodo --pidfile $PIDFILE
        rm -f $PIDFILE
        sleep 1
        start-stop-daemon --start --quiet --exec $DAEMONBOOTSTRAP
        echo "$NAME."
        ;;
  status)
        status_of_proc $DAEMON $NAME
        ;;
  *)
        N=/etc/init.d/$NAME
        echo "Usage: $N {start|stop|restart|force-reload|status}" >&2
        exit 1
        ;;
esac

exit 0

答案1

因此,如果你读取文件 /etc/init.d/memcached,你会看到以下内容

文件=(/etc/memcached_*.conf)。

所以,我相信如果您只创建一个带有设置的 memcached_1.conf 文件,那么它将使用新端口(在您创建的文件中给出)运行一个以上的 memcached 进程。

您可以从 /etc/memcached.conf 中获取示例文件并将其复制到 /etc/memcached_1.conf。

只需将默认端口 11211 替换为您需要的端口,例如 11212。

然后重启系统。它应该会用新的端口和配置运行一个以上的 memcached 二进制文件。

相关内容