2013-06-09 9 views
41

ich folgendes in /home/david/conf/supervisor.conf gesetzt haben:Supervisorctl nicht respektiert meine Konfiguration

[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 

Und gestartet:

$ supervisord -c /home/david/conf/supervisor.conf 

Doch wie kommt supervisorctl verwendet immer noch die Standard-http://localhost:9001 als serverurl?

$ supervisorctl 
http://localhost:9001 refused connection 
supervisor> 

Ich habe /home/david/tmp und die Dateien supervisord.log und supervisord.pid existieren.

Antwort

85

Sie sollten auch supervisorctl mit -c ausführen. Aus der Dokumentation (Hervorhebung von mir):

Die Datei Supervisor-Konfiguration wird üblicherweise supervisord.conf benannt. Es wird sowohl von supervisord als auch supervisorctl verwendet. Wenn entweder Anwendung ist ohne -c Option gestartet (die Option, die verwendet wird, um die Anwendung der Konfigurationsdateiname ausdrücklich zu sagen), die Anwendung für eine Datei supervisord.conf innerhalb der folgenden Orten in der angegebenen benannten aussehen bestellen. Es wird die erste gefundene Datei verwenden.

  1. $CWD/supervisord.conf
  2. $CWD/etc/supervisord.conf
  3. /etc/supervisord.conf
+1

Wenn Sie sind in der Lage, in der Sie Ihre Dateien in den Suchverzeichnissen aufgeführt bewegen Schnipsel, damit Sie nicht vergessen, '-c' hinzuzufügen oder einen Alias ​​in Ihrer Shell zu erstellen. :) –

+0

Ich traf das gleiche Problem und ich folge Ihrem Rat, '-c/path/to/xxx.conf' hinzuzufügen, aber es kam ein neuer Fehler" unix: ///tmp/supervisor.sock keine solche Datei " . Warum ? –

+0

Das ist ein ganz anderes Problem. Bitte posten Sie eine neue Frage. –

0

auf die gültige Antwort oben hinzuzufügen sicherstellen, dass Sie Ihre Konfigurationsdateien für die Apps sind Sie setzen unter Supervisor config Ordner überwachen möchten als ein Unterordner namens conf.d. Dies hängt davon ab, mit welcher Methode Sie den Supervisor, den Standard-Paketmanager oder easy_install installieren.

0

Als Lösung können Sie eine symbolische Verbindung zur Konfigurationsdatei herstellen. Like this für Mac OS:

sudo ln -sv /usr/local/etc/supervisord.ini /etc/supervisord.conf