Problem mit Supervisor-Socket-Fehlern [geschlossen]


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

Ich versuche, den Supervisor auf meinem Produktionssystem zu konfigurieren, aber dieser Fehler tritt auf. Die Supervisor-Protokolldatei ist leer.

Wenn ich nur tippe supervisorctl, beschwert es sich:

http://localhost:9001 refused connection

Derzeit wird an Port 9001 lsof | grep TCPnichts abgehört . AFACT: Gibt nichts zurück.

Antworten:


172

Sie müssen Supervisord starten, bevor Sie Supervisorctl verwenden können. In meinem Fall:

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

2
Sie sollten nicht sudo Supervisorctl müssen, aber ich stieß auf Berechtigungsprobleme, die mich veranlassten, die Lösung dieses Problems
aufzugeben

1
Ich habe das gleiche wie Kelorek ausgegeben, aber der obige Befehl hat bei mir nicht funktioniert.
Charlesliam

Was wird zurückgegeben, wenn Sie die Eingabetaste drücken?
Kelorek

5
192.168.111.100:9001 Verbindung abgelehnt
Charlesliam

Ausgezeichneter Mann, ich habe meinen Vorgesetzten nach Ewigkeiten zum Laufen gebracht!
Jaimin

37

Wenn Sie Supervisord mit einem benutzerdefinierten Pfad wie folgt gestartet haben:

sudo supervisord -c /mypath/supervisord.conf

Dann sollten Sie auch Supervisorctl mit demselben Parameter wie folgt starten:

sudo supervisorctl -c /mypath/supervisord.conf

2
das hat mir wirklich geholfen
Justin M. Ucar

12

Dieses Problem kann auftreten, wenn Sie Supervisor mit einer relativen URL für starten -cund dann versuchen, Supervisorctl in einem anderen Verzeichnis auszuführen.

Beispielsweise:

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

Die Lösung wäre, immer den absoluten Pfad zu verwenden. z.B:

Gut:

supervisord -c /etc/supervisor/supervisord.conf

Schlecht:

supervisord -c supervisord.conf

5

Dieses Problem tritt auch auf, wenn eine alte supervisord.confDateiversion verwendet wird. Die neuere Version von Supervisor verwendet eine andere Konfigurationsdatei. Die oben genannten Lösungen funktionieren nicht. In diesem Fall müssen Sie nur die Konfigurationsdatei mit neu generieren

echo_supervisord_conf > /etc/supervisord.conf

Hoffe es hilft jemandem.


3

Bitte machen Sie folgendes:

sudo service supervisor start

post was alles normal ist wie b4 - es gibt ein problem mit der 1b version

sudo supervisorctl reload


2

In Ubuntu 18.04 mit Distributionspaket

Sie haben wahrscheinlich den gleichen Fehler wie ich gemacht und die Konfigurationsdatei erstellt, /etc/supervisord.confwährend mein Service Manager ( systemd ) die Konfigurationsdatei verwendet hat/etc/supervisor/supervisord.conf

sudo rm /etc/supervisord.conf

Oder

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

wenn du es behalten willst

Jetzt kannst du rennen sudo supervisorctl


Warum?

Wenn Sie supervisorctles zuerst ausführen , wird nach der Konfigurationsdatei /etc/supervisord.confgesucht, die sich unter befindet. Wenn diese nicht vorhanden ist, wird nach der Standarddatei des Pakets gesucht. /etc/supervisor/supervisord.confDies ist diejenige, die systemd tatsächlich ausführt.

Systemd verwendet die Datei immer, /etc/supervisor/supervisord.confunabhängig von der Existenz der anderen Datei.

Sie können überprüfen, welche Datei systemd verwendet, indem Sie ausführensudo systemctl status supervisor

Geben Sie hier die Bildbeschreibung ein In der letzten Zeile sehen Sie den Befehl, in dem die Konfigurationsdatei fest codiert ist


-1

beide supervisordund supervisorctlVerwendung -cmit absolutem Konfigurationsdateipfad, vergewissern Sie sich beim Start beiden Befehle mit dem gleichen Konfiguration.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.