67 votes

Problème de port du serveur HTTP du superviseur

J'ai installé un superviseur pour gérer quelques processus. Il fonctionne parfaitement bien lorsque je démarre mon serveur, mais lorsque je l'arrête et que j'essaie de le redémarrer, il échoue et me donne ce message d'erreur :

 \* Starting Supervisor daemon manager...
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
   ...fail!

J'utilise nginx sur le port 80 et 4 serveurs web sur les ports 8000, 8001, 8002 et 8003.

Quelqu'un a-t-il une idée de ce qui se passe ?

Lorsque je redémarre, tout fonctionne bien.

93voto

Je viens aussi de rencontrer ce problème. Je l'ai résolu en faisant l'une de ces deux choses :

sudo unlink /tmp/supervisor.sock

sudo unlink /var/run/supervisor.sock

Ce site .sock est défini dans /etc/supervisord.conf [unix_http_server] valeur de configuration du fichier (la valeur par défaut est /tmp/supervisor.sock o /var/run/supervisor.sock ).

J'espère que cela aidera quelqu'un à l'avenir.

9voto

sef Points 574

J'utiliserais lsof pour trouver le processus qui écoute sur ces ports.

lsof -i tcp | grep LISTEN

Une fois que vous avez déterminé de quel processus il s'agit, c'est la moitié de la bataille.

1voto

IPaPa Points 293

En général, ce n'est pas le cas pour vous, mais j'ai rencontré cette erreur lorsque j'ai utilisé, par erreur, l'option supervisord 代わりに supervisorctl .

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X