Windows 用 nginx
既知の問題 今後の可能な拡張機能 |
Windows 用 nginx のバージョンは、ネイティブの Win32 API を使用します(Cygwin のエミュレーション レイヤーではありません)。現在、select()
と poll()
(1.15.9)という接続処理メソッドのみが使用されるため、高性能と拡張性には期待できない可能性があります。これらや他の既知の問題により、Windows 用 nginx のバージョンは ベータ版 と考えられています。現時点では、XSLT フィルター、イメージ フィルター、GeoIP モジュール、埋め込み Perl 言語を除き、UNIX バージョンの nginx とほぼ同じ機能が提供されています。
nginx/Windows をインストールするには、mainline ブランチの nginx には既知の修正がすべて含まれているため、最新の mainline バージョンの配布(1.27.3) をダウンロードしてください。次に、配布を展開し、nginx-1.27.3 ディレクトリに移動して nginx
を実行します。C: ルート ディレクトリのドライブの例を次に示します。
cd c:\ unzip nginx-1.27.3.zip cd nginx-1.27.3 start nginx
tasklist
コマンドライン ユーティリティを実行して、nginx プロセスを確認します。
C:\nginx-1.27.3>tasklist /fi "imagename eq nginx.exe" Image Name PID Session Name Session# Mem Usage =============== ======== ============== ========== ============ nginx.exe 652 Console 0 2 780 K nginx.exe 1332 Console 0 3 112 K
プロセスの 1 つはマスタープロセスで、もう 1 つはワーカープロセスです。nginx が起動しない場合は、エラーログファイル logs\error.log
でその理由を探します。ログファイルが作成されていない場合は、その理由が Windows イベントログに記録されているはずです。想定されるページの代わりにエラーページが表示される場合は、logs\error.log
ファイルでもその理由を探します。
nginx/Windows は、実行されたディレクトリを構成内の相対パスのプレフィックスとして使用します。上記の例では、プレフィックスは C:\nginx-1.27.3\
です。構成ファイル内のパスは、UNIX スタイルでスラッシュを使用して指定する必要があります。
access_log logs/site.log; root C:/web/html;
nginx/Windows は、標準コンソール アプリケーション(サービスではありません)として実行され、次のコマンドを使用して管理できます。
nginx -s stop 高速シャットダウン nginx -s quit グレースフルシャットダウン nginx -s reload 構成の変更、新しい構成で新しいワーカー プロセスを開始、古いワーカー プロセスのグレースフル シャットダウン nginx -s reopen ログファイルの再開
既知の問題
- 複数のワーカーが開始できますが、実際には 1 つのワーカーのみが機能します。
- UDP(および、本質的に QUIC)機能はサポートされていません。
今後の可能な拡張機能
- サービスとして実行。
- 接続処理方法として I/O 完了ポートを使用します。
- 1 つのワーカー プロセス内で複数のワーカー スレッドを使用します。