J'ai défini ce qui suit dans /home/david/conf/supervisor.conf
:
[unix_http_server]
file=/home/david/tmp/supervisor.sock
[supervisord]
logfile=/home/david/tmp/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=/home/david/tmp/supervisord.pid ; (supervisord pidfile;default supervisord.pid)
nodaemon=false ; (start in foreground if true;default false)
minfds=1024 ; (min. avail startup file descriptors;default 1024)
minprocs=200
childlogdir=/home/david/tmp
[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface
[supervisorctl]
serverurl=unix:///home/david/tmp/supervisor.sock
Et a commencé supervisord :
$ supervisord -c /home/david/conf/supervisor.conf
Cependant, comment se fait-il que supervisorctl
utilise toujours la valeur par défaut http://localhost:9001
comme serverurl
?
$ supervisorctl
http://localhost:9001 refused connection
supervisor>
J'ai vérifié /home/david/tmp
et les fichiers supervisord.log
et supervisord.pid
existe.
Vous devez exécuter supervisorctl
avec -c
ainsi que. De la documentation (mon accent):
Le fichier de configuration du superviseur est conventionnellement nommé
supervisord.conf
. Il est utilisé à la fois parsupervisord
etsupervisorctl
. Si l'une des applications est démarrée sans le-c
option (l'option utilisée pour indiquer explicitement à l'application le nom du fichier de configuration), l'application recherchera un fichier nommé supervisord.conf dans les emplacements suivants, dans l'ordre spécifié. Il utilisera le premier fichier trouvé.
$CWD/supervisord.conf
$CWD/etc/supervisord.conf
/etc/supervisord.conf
brew
pour installer brew install supervisor
/usr/local/etc/supervisord.ini
et commentez ces lignes:;[unix_http_server]
;file=/usr/local/var/run/supervisor.sock ; the path to the socket file
et décommentez ces lignes:
[inet_http_server] ; inet (TCP) server disabled by default
port=127.0.0.1:9001 ; ip_address:port specifier, *:port for all iface
brew services restart supervisor
C'est tout ce dont vous avez besoin.
Pour ajouter à la réponse valide ci-dessus, assurez-vous de placer vos fichiers de configuration pour les applications que vous souhaitez surveiller dans le dossier de configuration du superviseur en tant que sous-dossier appelé conf.d. Cela dépendra de la méthode utilisée pour installer le superviseur, le gestionnaire de packages par défaut ou easy_install.
Comme solution, vous pouvez créer un lien symbolique vers le fichier de configuration. Comme ceci pour Mac OS:
Sudo ln -sv /usr/local/etc/supervisord.ini /etc/supervisord.conf