スーパーバイザソケットエラーの問題[終了]


99
$ supervisorctl reread
error: <class 'socket.error'>, [Errno 111] Connection refused: file: /usr/lib64/python2.6/socket.py line: 567

本番システムでスーパーバイザを設定しようとしていますが、このエラーが発生しています。スーパーバイザログファイルが空です。

「」と入力するとsupervisorctl、文句が表示されます。

http://localhost:9001 refused connection

現在ポート9001でリッスンしているものlsof | grep TCPはありません。AFACT:何も返しません。

回答:


172

supervisorctlを使用する前に、supervisordを起動する必要があります。私の場合:

sudo supervisord -c /etc/supervisor/supervisord.conf
sudo supervisorctl -c /etc/supervisor/supervisord.conf

2
sudo supervisorctlをsudoする必要はありませんが、アクセス許可の問題が発生したため、その問題の解決をあきらめました
kelorek

1
私はkelorekと同じように発行しましたが、上記のコマンドは私には機能しませんでした。
Charlesliam

Enterキーを押すと何が戻りますか?
kelorek

5
192.168.111.100:9001が接続を拒否しました
Charlesliam

優秀な男性、私は何年も経ってから上司を動かしました!
ジャイミン、

37

次のように、カスタムパスで監視を開始した場合:

sudo supervisord -c /mypath/supervisord.conf

次に、次のように、同じパラメータを使用してsupervisorctlも起動する必要があります。

sudo supervisorctl -c /mypath/supervisord.conf

2
これは本当に
役に立ち

12

の相対URLでスーパーバイザを起動-cし、別のディレクトリからsupervisorctlを実行しようとすると、この問題が発生する可能性があります。

例えば:

supervisord -c supervisord.conf
supervisorctl start someapp ## works 
cd somedirectory
supervisorctl restart someapp ## http://localhost:9001 refused connection

解決策は、常に絶対パスを使用することです。例えば:

良い:

supervisord -c /etc/supervisor/supervisord.conf

悪い:

supervisord -c supervisord.conf

5

この問題は、古いバージョンのsupervisord.confファイルが使用されている場合にも発生します。スーパーバイザの新しいバージョンは、異なる構成ファイルを使用しています。上記の解決策は機能しません。この場合、構成ファイルを再生成する必要があります

echo_supervisord_conf > /etc/supervisord.conf

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


3

以下を行ってください:

sudo service supervisor start

すべてがb4として正常である投稿-1bバージョンに問題があります

sudo supervisorctl reload


2

ディストリビューションのパッケージを含むUbuntu 18.04

/etc/supervisord.conf私のサービスマネージャー(systemd)が構成ファイルを使用しているときに、私が構成ファイルを作成したのと同じ間違いをした可能性があります/etc/supervisor/supervisord.conf

sudo rm /etc/supervisord.conf

または

sudo mv /etc/supervisord.conf /etc/supervisor/supervisord.conf

あなたがそれを保ちたいなら

これで実行できます sudo supervisorctl


どうして?

実行時supervisorctlに最初ににある設定ファイルを検索し、存在し/etc/supervisord.confない場合は、パッケージのデフォルトファイルを検索します。/etc/supervisor/supervisord.confこれは、systemdが実際に実行するファイルです。

Systemd/etc/supervisor/supervisord.confは、他のファイルの存在に関係なく、常にそのファイルを使用します。

次のコマンドを実行すると、systemdを使用ているファイルを確認できますsudo systemctl status supervisor

ここに画像の説明を入力してください 最後の行で、構成ファイルがハードコーディングされているコマンドを確認できます


-1

両方supervisordと絶対設定ファイルパスでsupervisorctl使用する場合-cは、両方のコマンドが同じ設定で起動することを確認してください。

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