2011-10-04 15 views
17

nginx -s stopを発行した後、リロードしようとしたときにこのエラーが発生しました。Nginx無効なPID番号

[エラー]:無効なPID番号は "" /var/run/nginx.pid "で"

の/ var /実行/ nginxの/ pidのファイルは空気圧であること。

修正するために何をする必要がありますか?

答えて

24

nginx -s reloadは実行中のnginxプロセスに設定をリロードするよう伝えるためにのみ使用されます。停止後、シグナルを送信する実行中のnginxプロセスはありません。単にnginxを実行してください(おそらく、-c/path/to/config /ファイルで)

+4

現在のディストリビューションのストックインストールでは、おそらくstartスクリプトを使いたいでしょう: 'sudo service nginx start' –

12

私の場合は、サービスを開始することでこれを解決しました。

sudoは上記

コマンドを起動し/etc/init.d/nginxのDebian/Ubuntuの中でサービスを開始します。いずれかの問題は、最新版では

7

(1.2.0)魔法のように動作することをnginxの-sリロード後

を(Apacheは同じポートでリスニングのような)がある場合、それは私がダウンロードしたそのエラーを発行します何の「スタート-s」オプションがありません、それは nginxのを言うだろう:無効なオプションは:「スタート-s」

あなたは

sudo /etc/nginx/sbin/nginx 

でnginxのサーバーが開始されますを開始することができますし、そこも文句を言いません任意のpid番号エラーが無効です。

5

私の場合、nginxは停止していました(クラッシュしました)。次のように問題を解決しました:

service nginx status 
nginx stop/waiting 

service nginx start 
nginx start/running, process 3535 

nginx -s reloadが魅力的に機能しました。

信頼できる状態でnginx/1.8.0を使用しています。 nginxのを再起動すると、ダウンタイムを回避するために

+0

これは非常に奇妙なnginxのドキュメントですこれらのコマンドは含まれません。ちょうど "nginxを起動するには、実行可能ファイルを実行する"と言う! 私はなぜ彼らに行が含まれていたのかわかりません: ** sudoサービスnginxスタート** < - これは私から働いた –

0

ps aux | grep nginx 
PID of nginx master process 

echo PID > /var/run/nginx.pid 
nginx -s reload 
0

これはUbuntuの16.04で問題をクリアし、

sudo service nginx stop  

sudo service nginx start 

ps -eaf|grep nginx  # confirm its running 

sudo nginx -t && sudo nginx -s reload # confirm config is OK 

#  typical output 
# nginx: the configuration file /etc/nginx/nginx.conf syntax is ok 
# nginx: configuration file /etc/nginx/nginx.conf test is successful 


sudo service nginx stop # issue stop 

ps -eaf|grep nginx  # confirm it actually stopped 

の上に今の正気が復元されていると、あなたは意志で起動するのは自由です

関連する問題