スーパーバイザHTTPサーバーポートの問題


65

いくつかのプロセスを管理するスーパーバイザーのセットアップがあります。サーバーを起動すると完全に機能しますが、サーバーを停止して再度起動しようとすると失敗し、次のエラーメッセージが表示されます。

 *スーパーバイザーデーモンマネージャーの起動...
エラー:別のプログラムが、HTTPサーバーの1つが使用するように構成されているポートで既にリッスンしています。スーパーバイザーを開始する前に、まずこのプログラムをシャットダウンしてください。
ヘルプが必要な場合は、/ usr / bin / supervisord -hを使用してください
   ...不合格!

ポート80でnginxを実行し、ポート8000​​、8001、8002、8003で4つのWebサーバーを実行しています

誰が何が起こっているのか知っていますか?

再起動するとすべてが正常に動作します。

回答:


91

同様にこれに出くわしました。次のいずれかを実行して修正しました。

sudo unlink /tmp/supervisor.sock

sudo unlink /var/run/supervisor.sock

この.sockファイルは、/ etc / supervisord.confの[unix_http_server]のファイル構成値(デフォルトは/tmp/supervisor.sockまたは/var/run/supervisor.sock)で定義されています。

これが将来誰かを助けることを願っています。


12
@sdolanわあ、助けてくれた!/var/run/supervisor.sockを削除し、Debian Stableのエラーを解消しました
Abhishek A

2
unlinkを実行する前にfind / -name Supervisor.sockを実行します
-debian

2
スクリプトが自動的にリンク解除して再試行できるように、スーパーバイザーがエラーコードで終了しないのはなぜですか?
タルワイス

ここで注意してください。リンク解除後、「ps -ef | grep Supervisord」を実行すると、古いプロセスがまだ実行されていることがわかります。「kill <process_id>」も必要になる場合があります。編集:これはUbuntu 14.04を使用しているときの私のケースでした。
jball037

1
リンク解除コマンドの後、スーパーバイザーを再起動しようとしていますが、.sockが失われています。unix:///tmp/supervisor.sock no such file。だから私は他に何をする必要があります。
ロバート

7

lsofを使用して、これらのポートでリッスンしているプロセスを見つけます。

lsof -i tcp | grep LISTEN

どんなプロセスなのかがわかれば、それは戦いの半分です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.