web-dev-qa-db-ja.com

Nginx用にデーモンツールを構成する必要がありますか、それともNginxはよりスマートな方法でシャットダウンを処理しますか?

ギアマンでデーモンツールを使用しています
Nginx用のデーモンツールを構成する必要があるかどうかを考えていました
または、シャットダウン(メモリの問題などの場合)を自動的に処理しますか?

1
Jad Joubran

13年前にdaemontoolsに恋をした人として、私もすべてを監督しようとしています。 nginxは少し強烈ですが、フォアグラウンドで実行するには、構成で少なくともdaemon off;を使用する必要があります。また、本当に子を生成したくない場合はmaster_process off;を使用する必要があります。実行プログラムからexecするだけで、期待どおりに動作します。

しかし、私は穀物を切り落としていました。私はnginxに監視が組み込まれていることを受け入れるようになりました。それを実行すると、次のようなものが得られることに気付くでしょう。

$ psg nginx
root      1361     1  0 Mar31 ?        00:00:00 nginx: master process /usr/sbin/nginx
www-data  1362  1361  0 Mar31 ?        00:18:10 nginx: worker process
www-data  1363  1361  0 Mar31 ?        00:18:44 nginx: worker process
$ pstree -p 1361
nginx(1361)─┬─nginx(1362)
            └─nginx(1363)

マスタープロセスは基本的にsuperviseです。それは超軽量であり、労働者が適切に実行されていることを確認する責任があります。かなり忙しい環境でも、一度クラッシュしたことはありません。だから今、私はinitにそれを停止/開始させて、私が監督する必要があるサービスについて心配します。

他にも考慮事項があります。公式ドキュメントの内容を確認してください: http://nginx.org/en/docs/faq/daemon_master_process_off.html

2
drewr