2013-06-09 10 views
41

Ho impostato il seguente in /home/david/conf/supervisor.conf:Supervisorctl non rispettare la mia configurazione

[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 

e ha iniziato :

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

Tuttavia come mai supervisorctl utilizza ancora il predefinito http://localhost:9001 come il serverurl?

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

ho controllato /home/david/tmp ei file supervisord.log e supervisord.pid esistono.

risposta

85

È necessario eseguire supervisorctl con -c. Dalla documentazione (il corsivo è mio):

Il file di configurazione Supervisor viene convenzionalmente chiamato supervisord.conf. È utilizzato da entrambi supervisord e supervisorctl. Se o applicazione viene avviata senza l'opzione -c (l'opzione che viene utilizzato per indicare l'applicazione del nome del file di configurazione esplicitamente), l'applicazione cercherà un file chiamato supervisord.conf nei seguenti località, nel specificato ordine. Utilizzerà il primo file che trova.

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

Se siete in grado di, spostare i file nelle directory di ricerca elencati nella snippet, per non dimenticare di aggiungere '-c' o creare un alias nella shell. :) –

+0

Ho incontrato lo stesso problema e seguo i tuoi consigli per aggiungere '-c/percorso/a/xxx.conf', ma è emerso un nuovo errore" unix: ///tmp/supervisor.sock no such file " . Perché ? –

+0

Questo è un altro problema interamente. Si prega di inviare una nuova domanda. –

0

da aggiungere alla risposta valida sopra assicurarsi che si sta mettendo i vostri file di configurazione per le applicazioni che si desidera monitorare nella cartella config del supervisore come una sottocartella chiamata conf.d. Questo dipenderà dal metodo utilizzato per installare supervisore, il gestore pacchetti predefinito o easy_install.

0

Come soluzione è possibile creare un collegamento simbolico al file di configurazione. come questo per Mac OS:

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

Problemi correlati