前提・実現したいこと
保守プロジェクトです。
windows server 2016でウェブサイトが動いています。
redis
nginx
mysql
tomcat
発生している問題・エラーメッセージ
start nginx nginx -s reload nginx -s stop コマンドプロンプトで上記コマンドで問題なく実行できますが、 nginx -s stopでnginxを停止しても、ウェブサイトも開けます。 nginx.confをいろいろ弄って、再起動しても反映されてないみたいです。 nginxはどこかで起動っぱなしにしてるかと疑っています。
試したこと
1.start nginx -c C:/java/nginx-1.14.2/conf/nginxSSL.conf
でも無事に起動できますが、設定が効かない
2.Service一覧にnginxがない
nginxのログは出力されていないのでしょうか?
そこで原因がわかる可能性があります。
また、停止したあとWebサイトが見れるとのことですが、こちらも停止後ログをWebアクセスをしてログを確認してみれば、nginxにアクセスログが記録されるか否かで切り分けができると思います。
> Service一覧にnginxがない
これはサービス化していないからではないでしょうか?
少し調べた限りだとコマンドプロンプトからの操作を紹介しているサイトが多く、ご質問者様環境も同様にサービス化までしていないことを想定しています。
起動しているか否かを確認するのであればプロセスから確認すべきと考えます。
ご回答ありがとうございます。
ご想定通り、サービス化していません。
今朝、停止しようとすると、エラーが出ています:
C:\java\nginx-1.14.2>nginx -s stop
nginx: [error] CreateFile() "C:\java\nginx-1.14.2/logs/nginx.pid" failed (2: The system cannot find the file specified)
Googleしたら、再起動で直るtって、書いてます。深夜、試してみます。
エラーの内容は「C:\java\nginx-1.14.2/logs/nginx.pid」がないと言っています。
該当ファイルはプロセスが起動した際に作成するフラグファイルです。
もともと起動していない疑いがあります。
サービスを起動したときに該当ファイルが作成されるか確認してください。
それとともにログファイルを見て正常起動しているか確認してください。
サイトは正しく動いてるので、起動されてると思います。
試したこと:
1.コマンド実行
>netstat -ano | findstr 0.0.0.0:80
5028 のIDが表示される
>taskkill /pid 5028 /f
>netstat -ano | findstr 0.0.0.0:80
何もない
2.↑が終わったら、下記を実行
taskkill /f /im nginx.exe
nginxが起動されてない
3.>start nginx
nginxが起動できた!!!
回答1件
あなたの回答
tips
プレビュー