Supervisor auf Debian Wheezy: Ein anderes Programm überwacht bereits einen Port, für den einer unserer HTTP-Server konfiguriert ist
Wenn ich service supervisor start
ich in ausführen den folgenden Fehler:
Starting supervisor: Error: Another program is already listening on a port that one of our HTTP servers is configured to use. Shut this program down first before starting supervisord.
For help, use /usr/bin/supervisord -h
Inhalt /var/log/superuser/supervisord.melden Sie:
2014-08-04 16:25:45,891 CRIT Supervisor running as root (no user in config file)
2014-08-04 16:25:45,891 WARN Included extra file "/etc/supervisor/conf.d/com.domain.subdomain.conf" during parsing
Gut-zu-wissen-Sachen:
- Ich benutze Debian Wheezy auf einem Digitalen Ozean-server.
- Ich habe versucht, zu überprüfen, die ports supervisor verwendet, die in einer sauberen Vagrant box mit den gleichen Spezifikationen, aber ich habe den gleichen Fehler.
Wie könnte ich überprüfen, welcher port ist die Quelle von diesem Fehler?
InformationsquelleAutor der Frage balintant | 2014-08-04
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich mein problem gelöst, indem die Verknüpfung der
.sock
Datei.Wenn dies nicht hilft, sollten Sie überprüfen, und heben Sie die Verknüpfung der Datei auf
/tmp/supervisor.sock
.InformationsquelleAutor der Antwort balintant
Geben Sie Folgendes in Ihr terminal
Erhalten Sie eine pid von supervisord genau wie diese
Und die PID 2503
Dann geben Sie diese:
Sollte es funktionieren
InformationsquelleAutor der Antwort N'faly Kaba
Meine situation war ein wenig speziell, aber das kann noch hilfreich sein.
Ich lief ein paar docker-Container auf dem gleichen host. Alle Behälter wurden ausgeführt in host-Netzwerk-Modus. Jeder container musste mehrere Prozesse überwacht durch die Vorgesetzten.
Den ersten container würde immer kommen, und alle anderen scheitern würden, mit der Warnung, dass die OP erwähnt:
Another program is already listening on a port that one of our HTTP servers is configured to use. Shut this program down first before starting supervisord.
Für mich, das Problem war, dass ich folgende Zeile in meiner config supervisor:
Den ersten container würde erfolgreich binden an port 9001, und jede weitere container würden nicht gestartet werden, da würde Sie auch versuchen zu binden, dass derselbe port, der bereits getroffen wurde.
Ersetzte ich diese Zeilen mit dem folgenden Wechsel von einem http-server die Bindung an localhost:9001 zu einem server auf einem unix-domain-socket.
Fest, dass die port-Kollisionen und alle Behälter waren in der Lage zu starten.
InformationsquelleAutor der Antwort turtlemonvh
Hatte das gleiche problem hier. Lösung war, dass
systemctl stop supervisor.service
nicht " den Dienst beenden. supervisord könnte noch läuft obwohl Sie anders denken.Sicher sein, dass Sie versucht, dass vor dem manuellen trennen der Steckdose.
Ich Häufig Probleme tun
/etc/init.d/supervisor restart
obwohl/etc/init.d/supervisor stop && /etc/init.d/supervisor start
funktioniert.InformationsquelleAutor der Antwort khaoz