redisサーバーを実行し続ける方法


82

nodejsアプリのセッションサポートにredisを使用しています。redisサーバーをインストールしましたが、redis-serverを実行すると動作しますが、ターミナルを閉じるとredisが停止して動作しません。ターミナルを閉じた後、redisサーバーを実行し続けるにはどうすればよいですか?

回答:


73

Redisをデーモンとして起動する最も簡単な方法は、構成ファイルを編集して次の行を変更することです。

# By default Redis does not run as a daemon. Use 'yes' if you need it.
# Note that Redis will write a pid file in /var/run/redis.pid when daemonized.
daemonize yes

構成ファイルを起動するときは、必ずredis-serverコマンドラインで指定してください。

構成ファイルの例は、Redisディストリビューションで提供されています。


これがデーモンとして実行する方法であることがわかりましたが、デーモンとして実行するためにどのコマンドを使用しますか?
マイケルフェンダー

プラットフォームとOSのディストリビューションによって異なります。
Didier Spezia


10
この回答にはいくつかの問題があります。1)構成ファイルが保存されている場所をユーザーに通知しません。2)この回答がどのプラットフォームに適用されるかはわかりません(構成ファイルの場所が異なる場合、少なくともこの結果を得るためにインストールしたプラットフォームを指定してください)3)名前もわかりません構成ファイルはです。
ジョージストッカー2016年

あなたの答えは私に私の問題を解決するアイデアを与えました。私が持っていたdaemonizeyesに設定オプションをして生きているとそのドッカーコンテナを維持しようとしていた-D FOREGROUNDが、それは働いていなかったと容器を出ました。このオプションを削除し、daemonizeオプションをnoに戻しました。これで機能し、コンテナーは存続します。
ステファン

189

また、簡単なオプションが必要な場合は、次のコマンドを実行しますredis-server --daemonize yes


2
これとの違いは何redis-server &ですか?
Uduse 2018年

4
@Uduse&最後にそれを実行した場合、ターミナルを終了すると、サーバープロセスが強制終了されます。stackoverflow.com/a/15595391/6263317
Jon Deaton 2018

1
@JonDeatonは説明に感謝しますが、nohup redis-server &vsを使用するのはどうredis-server --daemonizeですか?つまり、使用せずに同じ機能を実現する方法があるようです--daemonize、そのオプションは実際には必要ありません。
Uduse 2018

21

@DidierSpeziaが彼の答えで述べたように、

daemonize yesRedisconfファイルに設定します。daemonize yesRedisconfファイルで設定されます。/path/to/redis.conf一般的には次の場所にあるはずです。/etc/ます。

そして:

次に、confファイルを引数としてredis-serverをトリガーします。

./redis-server /etc/redis.conf

更新demonizeフラグを使用 してredisを直接実行することもできます

redis-server --daemonize yes

-1

Linuxでは、Windowsについてよくわかりません。nohupを使用してredisをバックグラウンドで実行します。nohupを使用してredisをバックグラウンドで実行するには

  1. redissrcディレクトリに移動します。私の場合は/ opt / redis-stable / srcです。
  2. コマンドを実行しますnohup ./redis-server &
  3. 今redisはバックグラウンドで開始されました
  4. ctrl + cを押して終了すると、ログがnohup.outファイルに出力されます。同じように調整して監視できます。
  5. tail -f nohup.outを使用して、redisのログを確認します

@domdambrogiaはNohupを使用して終了せず、バックグラウンドで実行されます。ログについてはnohup.outを確認してください
Mohammed IrfanTirupattur19年

1
あなたは正しいです、私はあなたの答えの残りなしでアンパサンドインラインコードを読んだだけです。コメントを削除します!
domdambrogia

@MohammedIrfanTirupattur:しかし、デーモンが知っているように、これは実行されません!ターミナルが閉じられると殺されます
Aarish Ramesh

@AarishRameshいいえ、しません..バックグラウンドで実行されます。アンパサンドを使用することを忘れないでください。また、現在のディレクトリのnohup.logからログを確認できます
Mohammed Irfan Tirupattur
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.