Problème d'erreur de socket du superviseur [fermé]


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

J'essaye de configurer le superviseur sur mon système de production, mais je rencontre cette erreur. Le fichier journal du superviseur est vide.

Quand je viens de taper supervisorctl, il se plaint:

http://localhost:9001 refused connection

Rien n'est actuellement à l'écoute sur le port 9001, AFACT: lsof | grep TCPne renvoie rien.

Réponses:


172

Vous devez démarrer supervisord avant de pouvoir utiliser supervisorctl. Dans mon cas:

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

2
Vous ne devriez pas avoir à sudo supervisorctl, mais j'ai rencontré des problèmes d'autorisations qui m'ont amené à abandonner la résolution de ce problème
kelorek

1
J'ai le même produit que kelorek mais la commande ci-dessus n'a pas fonctionné sur moi.
Charlesliament

Qu'est-ce qui revient lorsque vous appuyez sur Entrée?
kelorek

5
192.168.111.100:9001 connexion refusée
Charlesliament

Excellent homme, j'ai fait courir mon superviseur après des lustres!
Jaimin

37

Si vous avez démarré Supervisord avec un chemin personnalisé, comme ceci:

sudo supervisord -c /mypath/supervisord.conf

Ensuite, vous devez également démarrer supervisorctl avec le même paramètre, comme ceci:

sudo supervisorctl -c /mypath/supervisord.conf

2
cela m'a vraiment aidé
Justin M. Ucar

12

Vous pouvez obtenir ce problème si vous démarrez Supervisor avec une URL relative pour -c, puis essayez d'exécuter Supervisorctl à partir d'un répertoire différent.

Par exemple:

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

La solution serait de toujours utiliser le chemin absolu. par exemple:

Bien:

supervisord -c /etc/supervisor/supervisord.conf

Mauvais:

supervisord -c supervisord.conf

5

Ce problème se produit également lorsqu'une ancienne version de supervisord.conffichier est utilisée. La nouvelle version de superviseur utilise un fichier de configuration différent. Les solutions ci-dessus ne fonctionnent pas. Dans ce cas, il vous suffit de régénérer le fichier de configuration avec

echo_supervisord_conf > /etc/supervisord.conf

J'espère que ça aide quelqu'un.


3

veuillez procéder comme suit:

sudo service supervisor start

poste que tout est normal en tant que b4 - il y a un problème avec la version 1b

sudo supervisorctl reload


2

Dans Ubuntu 18.04 avec le package de distribution

Vous avez probablement fait la même erreur que moi en créant le fichier de configuration /etc/supervisord.confalors que mon gestionnaire de service ( systemd ) utilisait le fichier de configuration/etc/supervisor/supervisord.conf

sudo rm /etc/supervisord.conf

Ou

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

si tu veux le garder

Maintenant tu peux courir sudo supervisorctl


Pourquoi?

lorsque vous l'exécutez, supervisorctlil recherche pour la première fois le fichier de configuration situé à /etc/supervisord.conf, s'il n'est pas présent, il recherchera le fichier par défaut du package, /etc/supervisor/supervisord.confc'est celui que systemd exécute réellement.

Systemd utilise toujours le fichier /etc/supervisor/supervisord.confindépendamment de l'existence de l'autre fichier.

Vous pouvez vérifier quel fichier utilise systemd en exécutantsudo systemctl status supervisor

entrez la description de l'image ici Vous pouvez voir dans la dernière ligne la commande où le fichier de configuration est codé en dur


-1

les deux supervisordet supervisorctlutiliser -cavec le chemin absolu du fichier de configuration, assurez-vous que les deux commandes démarrent avec la même configuration.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.