プロセスと実行時制御


プロセスと実行時制御

このセクションでは、実行時にNGINXが開始するプロセスとそれらをコントロールする方法について説明します。

マスターとworkerプロセス

NGINXは一つのマスタープロセスと1つ以上のworkerプロセスを持ちます。もし、 caching が有効であれば、キャッシュローだとキャッシュマネージャープロセスも実行されるでしょう。

マスタープロセスの主な目的は設定ファイルの読み込みと評価と、workerプロセスの維持です。

wokerプロセスは実際のリクエストの処理を行います。NGINXは効果的にworkerプロセスにリクエストを分配するためにOSに依存した仕組みに頼っています。workerプロセスの数は設定ファイル内で定義され、指定された設定に固定されるか、または自動的に利用可能なCPUのコアの数に調整されます(worker_processesを参照してください)

nginxのコントロール

設定を再読み込みするために、nginxを停止あるいは再起動、またはマスタープロセスにシグナルを送ることができます。シグナルはnginxの実行ファイルに -s パラメータを付けて実行することで送ることができます。

nginx -s signal

-s を使うときは、signal パラメータは次のどれかになります:

  • stop — 高速シャットダウン
  • quit — グレースフル シャットダウン
  • reopen — ログファイルの開き直し
  • reload — 設定ファイルの再読み込み

シグナルはまたkill ユーティリティを使ってマスタープロセスに直接送ることができます。デフォルトでは、マスタープロセスのプロセスIDは nginx.pid ファイルに書かれています。これは /usr/local/nginx/logs または /var/run ディレクトリの中にあります。

ログファイルの開き直しや動いている状態でのバイナリのアップグレードのような、更に上級のシグナルについて、Controlling NGINX documentationで読むことができます。

TOP
inserted by FC2 system