自分の開発端末(Windows)にNginxをインストールし、サービス化したので、記録を残しておきます。
インストール作業
ダウンロードページからWindows用のバイナリをダウンロードし、適当な場所に置きます。自分はC:\Program Files
の下に置きました。
とりあえずの確認としてダブルクリックで起動してみます。起動しても、特に何も出力はないです(ポートが開いてなければWindowsファイアウォールの画面が出ます)。ブラウザでlocalhost にアクセスし、いつもの画面が表示されればOKです。

上記が表示されない場合は、エラーログ(インストールフォルダ\logs\error.log
)を確認し、対応します。
確認できたらコマンドプロンプトで以下を実行し、一旦終了します。
C:\Program Files\nginx-1.18.0>nginx -s stop
サービス化
次にNginxをサービス化します。任意のexeをサービス化できるWinSWを使用します。バイナリをここからダウンロードしてきます。.NET Frameworkのバージョンによって、WinSW.NET2.exe
, WinSW.NET4.exe
がありますので環境に応じて選択してください。

WinSWのexeをダウンロードしたら、Nginxのインストールフォルダに置き、任意の名前にリネームします。今回は nginx-1.18.0.exe
という名前にしました。
次に設定ファイルを準備します。以下のような内容のxmlを、先程のexeと同じ名前(今回だとnginx-1.18.0.xml
)で用意します。
<service>
<id>nginx-1.18.0</id>
<name>nginx-1.18.0</name>
<description>This service runs Nginx web server.</description>
<executable>nginx.exe</executable>
<startarguments></startarguments>
<stoparguments>-s stop</stoparguments>
<logmode>rotate</logmode>
</service>
準備できたら、以下の様になります。

コマンドプロンプトを開き、以下のコマンドを実行してサービスとして登録します。
C:\Program Files\nginx-1.18.0>nginx-1.18.0.exe install
サービスを開いて登録されていればOKです!

アンインストール
サービスの登録を解除したい場合は、以下のコマンドになります。
C:\Program Files\nginx-1.18.0>nginx-1.18.0.exe uninstall