nginx のアップデート後に PID ファイルにアクセスできない

nginx のアップデート後に PID ファイルにアクセスできない

Debian 標準パッケージで配信されていたバージョン 0.7.x を削除した後、ソースから nginx バージョン 1.4.1 をインストールしました。

nginx を起動することは可能でありservice nginx start、netstat を実行すると nginx がポート 80 を予約していることがわかります。

netstat -apn | grep nginx出力:

tcp      0    0 0.0.0.0:80            0.0.0.0:*             LISTEN    3115/nginx 

問題は、私がそうするかservice nginx statusservice nginx stopこのメッセージが表示される場合です:

nginx の PID ファイルにアクセスできませんでした...失敗しました!

誰がこれを修正できますか? また、この問題を防ぐにはどうすればよいですか?

編集: 解決策

  1. remove nginx
  2. 次にソースにアクセスして./configure --pid-path=/var/run/nginx.pid
  3. make
  4. checkinstall make install

答え1

Debian はおそらく、デフォルトでは行わない特定の場所に pid ファイルを配置するように、パッケージの nginx を構成/パッチしました。ソースからコンパイルされたものを使用してこれを置き換えた場合、サービス インフラストラクチャの期待に一致しなくなります。

Debian の開発者が行ったパッチと設定オプションを確認し、pid ファイルを同じ場所に配置するオプションを指定して 1.4.x バージョンを再コンパイルします。

この種の問題を防ぐにはどうすればよいでしょうか。パッケージ経由で行うか、ソースからコンパイルするかのどちらか一方にしてください。両方を行うと問題が発生するため、これを行う場合は細心の注意を払う必要があることに注意してください。

関連情報