nginx — HTTP およびリバースプロキシーサーバー、メールプロキシーサーバー
nginx [-?hqTtVv] [-c file] [-e file] [-g directives] [-p prefix] [-s signal]
nginx (発音は “engine x”) は、 HTTP およびリバースプロキシーサーバー、 メールプロキシーサーバー、汎用的な TCP/UDP プロキシーサーバーです。 高性能、安定性、豊富な機能セット、簡単な設定、リソースの低消費という特徴が知られています。
オプションは以下のとおりです。
-?, -h - ヘルプを表示します。
-c file - 別の設定ファイルとして file を用います。
-e file - 別のエラーログとして file を用います。 特別な設定値
stderr があって、 これは標準エラーへの出力が行われます。 -g directives - グローバル設定ディレクティブを設定します。 例 のセクションを参照してください。
-p prefix - プレフィックスパスを設定します。デフォルトは /usr です。
-q - 設定テストを行う際、 エラーではないメッセージは省略します。
-s signal - マスタープロセスにシグナルを送信します。 引数 signal には、
stop, quit, reopen, reload のいずれかを指定します。 以下に示す一覧は、 これに対応するシステムシグナルです。 stop SIGTERM quit SIGQUIT reopen SIGUSR1 reload SIGHUP
-T -t と同様です。 ただしこれに加えて、 設定ファイル内容を標準出力に書き出します。 -t - 実行は行わずに、 設定ファイルのテストだけを行います。
nginx は、 設定ファイルの文法チェックを行い、 設定ファイル内から参照されているファイルの読み込みを試します。 -V nginx のバージョン、 コンパイラーバージョン、 configure スクリプトのパラメーターを表示します。 -v nginx のバージョンを表示します。
nginx のマスタープロセスは、 以下のシグナルを取り扱います。
SIGINT, SIGTERM - すぐにシャットダウンします。
SIGHUP - 設定を再ロードして、 新たな設定を用いた新たなワーカープロセスを起動します。 そして古いワーカープロセスは、 適切にシャットダウンします。
SIGQUIT - 適切にシャットダウンします。
SIGUSR1 - ログファイルを開き直します。
SIGUSR2 nginx 実行ファイルをその場でアップグレードします。 SIGWINCH - ワーカープロセスを適切にシャットダウンします。
ワーカープロセスに対して、 通常の制御を明示的に行う必要がない場合には、 さらに以下のシグナルもサポートしています。
SIGTERM - すぐにシャットダウンします。
SIGQUIT - 適切にシャットダウンします。
SIGUSR1 - ログファイルを開き直します。
デバッグログを有効にするには、 デバッグ機能が含まれるように nginx ビルドを再構成します。
./configure --with-debug
...
そして error_log のログレベルを debug に設定します。
error_log /path/to/log
debug;
特定の IP アドレスに対して、 デバッグを有効にすることもできます。
events {
debug_connection 127.0.0.1;
} 環境変数 NGINX は、 nginx が内部で利用しています。 これはユーザーが直接設定するものではありません。
- /var/run/nginx.pid
nginx のプロセス ID を保持します。 このファイルの内容は機密情報ではないため、 だれでも見ることができます (world-readable です)。 - /etc/nginx/nginx.conf
- メインの設定ファイル。
- /var/log/error.log
- エラーログファイル。
終了ステータスは、 正常処理時に 0、 処理失敗時に 1 です。
テストの設定ファイルとして ~/mynginx.conf を指定します。 そして PID に対するグローバルディレクティブを用いて、 ワーカープロセス量を設定します。
nginx -t -c ~/mynginx.conf \
-g "pid /var/run/mynginx.pid; worker_processes 2;"
ドキュメント: http://nginx.org/en/docs/
疑問や技術サポートの必要がある場合は、 http://nginx.org/en/support.html に問い合わせてください。
nginx の開発は 2002 年に開始しました。 初めての公開版は 2004 年 10 月 4 日にリリースしています。