doodle-on-web

自分で調べたことや、仕事の中で質問されたことなどをまとめています。

windows環境のnginxに設定ファイルが反映されない

スポンサーリンク

状況

nginxの基本コマンドは以下となっているが、停止、リロードコマンド実行後も設定が反映されないことが多く、(Windowsの問題か?)ローカルマシンを再起動しないと設定が反映されていないようなことが発生していた。

#起動
start nginx
#再起動
nginx -s restart
#停止
nginx -s stop
nginx -s quit
#設定ファイルリロード
nginx -s reload

原因

よくよく調べてみると、停止コマンドをいくら打ってもnginxが終了せずに昔の設定ファイルで動き続けている状態にあったようだ。

解決策

こういった場合には、このずっと生きているゾンビなnginxをちゃんとキルしてあげると、設定ファイルを読み込んだnginxが起動してくれて、設定が反映されるようだ。

その場合のコマンドは以下となる。

taskkill /f /im nginx.exe

実行後、

成功: プロセス "nginx.exe" (PID 2596) は強制終了されました。
成功: プロセス "nginx.exe" (PID 3376) は強制終了されました。

と出力されるので、nginxを再度起動して設定ファイルが読み込まれているかを確認してください。