web-dev-qa-db-ja.com

Redisがシャットダウンしない

ほとんどの場合、Ubunutuサーバーを再起動すると、「Redisのシャットダウンを待機しています...」というメッセージが繰り返し表示され、強制的に再起動するまで停止しません。何が原因でしょうか?

私は http://godrb.com/ resqueが動作し続けることを監視しているので、それに関連している可能性があります。

6
99miles

Redisはlocalhostまたは127.0.0.1以外のインターフェースでリッスンしていますか?その場合、 公式のRedis initテンプレートがホストアドレスを含めることができない であるため、stopコマンドが正しいインターフェイスに送信されることはありません。

これまでに使用した/etc/init.d/redisファイルでREDISHOST=10.150.0.18を定義し、30行目(「shutdown」を探す)にそのHost引数を追加する必要がありました。

$CLIEXEC -h $REDISHOST -p $REDISPORT shutdown
9
parhamr

私のような人なら、redis.confにパスワード(requirepass)が必要でした。現在、redis-cliコマンドはパスワードなしでは応答しません。

/etc/init.d/redisファイルの最初の数行でCLIEXECを探し、デフォルトを変更します

CLIEXEC=/usr/local/bin/redis-cli

CLIEXEC="/usr/local/bin/redis-cli -a <password>"

引用符に注意してください。

これを行ったとき、-h $ REDISHOSTパラメータを含める必要はありませんでした。

アイデアのソースについては、こちらをご覧ください: https://groups.google.com/forum/#!topic/redis-db/ITtbA1S-GGg

4
Josh

このリスト での会話はあなたの問題を解決することができます:

Redis-cli呼び出しで '-a'(auth)を使用するようにinitスクリプトを変更します。

CLIEXEC = "/ usr/local/bin/redis-cli -a password"

つまり、問題は、サービスを停止するためにRedisパスワードを入力する必要があるという事実です。 /etc/init.d/redis_portスクリプト(または他の任意の初期化スクリプト)を-a passwordで変更すると、問題が解決します。

2

あなたはredisプロセスを殺すことができます:

$ ps -ef|grep "redis"

# kill $(cat /var/run/redis.pid)
0
Gaurav Sharma