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 status
次service nginx stop
のメッセージを受け取るときです。
nginx PIDファイルにアクセスできません...失敗しました!
この問題を解決するには誰に連絡する必要がありますか?この問題をどのように防止できますか?
編集:ソリューション
remove nginx
- その後、ソースに移動
./configure --pid-path=/var/run/nginx.pid
make
checkinstall make install
答え1
Debianは、デフォルトで実行されていない特定の場所にpidファイルを配置するためにパッケージに対してnginxを設定/パッチした可能性があります。ソースからコンパイルされたものに置き換えると、サービスインフラストラクチャの期待と一致しません。
Debian の人々がどのパッチや設定オプションを実行したかを確認し、pid ファイルを同じ場所に保存するオプションを使用してバージョン 1.4.x を再コンパイルします。
そのような問題が発生するのを防ぐ方法は?パッケージを介してタスクを実行したり、ソースでコンパイルしたり、両方を実行することはできません。あるいは、物事が損傷する可能性があるため、この作業を行うときは慎重に注意してください。