これは私の最初のWebサーバー管理経験であり、nginxをWebサーバーとして使用するdockerコンテナーを構築したいと思います。すべてのdockerチュートリアルdaemon off;
オプションはメイン.conf
ファイルですが、それに関する説明は省略されています。
私はそれについてインターネットで検索しましたが、daemon on;
およびdaemon off;
オプション。一部の人々は、daemon off;
は生産用です。なぜですか?
この2つのオプションの違いは何ですか、なぜdaemon off;
生産中ですか?
通常の運用(サーバー上)では、デフォルトのdaemon on;
ディレクティブを使用して、Nginxサーバーがバックグラウンドで起動するようにします。このようにして、Nginxと他のサービスが実行され、互いに通信しています。 1つのサーバーで多くのサービスを実行します。
Dockerコンテナ(またはデバッグ)の場合、daemon off;
ディレクティブはNginxにフォアグラウンドにとどまるように指示します。コンテナの場合、これは便利です。ベストプラクティスは、1つのコンテナ= 1つのプロセスです。 1つのサーバー(コンテナー)には1つのサービスのみがあります。
daemon off;
の設定は、サービスを制御する Supervisor などのサードパーティツールがある場合にも役立ちます。スーパーバイザを使用すると、サービスの束のステータスを一度に停止/開始/取得できます。
daemon off;
を使用してNginxの設定を調整し、サービスを完全に強制終了して再起動します。これにより、構成を迅速にテストできます。完了したら、デフォルトのdaemon on;
を使用します。
this SO thread で述べたように、「その初期プロセスはすぐにマスターnginxプロセスと一部のワーカーを生成し、その後終了します。Dockerは元のコマンドのPID、コンテナは停止します。」
daemon off
ディレクティブ 、それはもともとnginxコード開発を目的としていたように見えますが、 [〜#〜] faq [〜#〜] 。