C’est ma configuration. Je lance supervisord -c /etc/supervisor/supervisord.conf
cela fonctionne bien. Lorsque j'essaie d'exécuter supervisorctl -c /etc/supervisor/supervisord.conf
, l'erreur s'est produite:
Erreur:, protocole inconnu pour serverurl /var/run/supervisord.sock: fichier: /usr/local/lib/python2.7/dist-packages/supervisor-3.0b2-py2.7.Egg/supervisor/xmlrpc.py. : 440
Je peux démarrer ou arrêter mon programme avec http://127.0.0.1:9001
parfaitement, mais je souhaite contrôler le programme en ligne de commande. Quelqu'un peut-il m'aider?
[unix_http_server]
file = /var/run/supervisor.sock
chmod = 0777
chown= root:cruelcage
[inet_http_server]
port=9001
username = cruelcage
password = 123
[supervisorctl]
serverurl = /var/run/supervisord.sock
[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface
[supervisord]
logfile=/home/cruelcage/log/supervisord/supervisord.log ; (main log file;default $CWD/supervisord.log)
logfile_maxbytes=50MB ; (max main logfile bytes b4 rotation;default 50MB)
logfile_backups=10 ; (num of main logfile rotation backups;default 10)
loglevel=info ; (log level;default info; others: debug,warn,trace)
pidfile=/var/run/supervisord.pid ; (supervisord pidfile;default supervisord.pid)
nodaemon=true ; (start in foreground if true;default false)
minfds=1024 ; (min. avail startup file descriptors;default 1024)
minprocs=200 ; (min. avail process descriptors;default 200)
#user=root ; (default is current user, required if root)
childlogdir=/home/cruelcage/log/supervisord/ ; ('AUTO' child log dir, default $TEMP)
[program:config]
command=python /home/cruelcage/documents/config/config.py
autostart = true
startsecs = 5
user = cruelcage
redirect_stderr = true
stdout_logfile_maxbytes = 20MB
stdoiut_logfile_backups = 20
stdout_logfile = /home/cruelcage/log/debug.log
Votre [supervisorctl]
serverurl
doit être " unix: // / var/run/supervisord.sock", car "/var/run/supervisord.sock" n'est pas un URI valide pour que xmlrpclib
se connecte.
echo_supervisord_conf > /etc/supervisord.conf
Sudo supervisord -c /etc/supervisord.conf
Sudo supervisorctl status
J'ai eu ce problème et a constaté qu'il s'est produit après un redémarrage du serveur. Lorsque le superviseur a tenté de redémarrer par la suite, il n'a pas pu trouver le répertoire du journal spécifié dans le fichier de configuration de mon démon (ce problème ne s'est pas produit pendant que le superviseur était en cours d'exécution).
Tout ce que j'avais à faire était de changer le chemin stdout_logfile (ou de commenter la ligne) dans mon fichier:
(remplacez le ##### par votre identifiant de fichier)
Sudo nano /etc/supervisor/conf.d/daemon-#####.conf
Ajoutez un chemin de fichier journal existant ou commentez la ligne avec un # au début de la ligne:
#stdout_logfile=/my/bad/log/directory
Puis redémarrer le superviseur
Sudo service supervisor restart