2013-06-09 5 views
41

mam ustawić następujące w /home/david/conf/supervisor.conf:Supervisorctl nieprzestrzeganie moja konfiguracja

[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 

i zaczął :

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

Jednak jak to się stało supervisorctl nadal używa domyślnego http://localhost:9001 jako serverurl?

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

Sprawdziłem /home/david/tmp i pliki supervisord.log i supervisord.pid istnieją.

Odpowiedz

85

Należy również uruchomić supervisorctl z -c. Z dokumentacji (moje podkreślenie):

Plik konfiguracyjny Inspektor jest umownie nazwane supervisord.conf. Jest używany zarówno przez supervisord i supervisorctl. Jeśli albo aplikacja jest uruchomiona bez opcji -c (opcja, która jest używana do powiedzieć aplikacji nazwa pliku konfiguracyjnego jawnie), aplikacja będzie szukał pliku o nazwie supervisord.conf w następujących lokalizacjach w określony zamówienie. Użyje pierwszego znalezionego pliku.

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

Jeśli jesteś w stanie, przenoszenie plików do katalogów wyszukiwania wymienionych w snippet, aby nie zapomnieć dodać '-c' lub utworzyć aliasu w powłoce. :) –

+0

Spotkałem ten sam problem i postępuję zgodnie z twoją radą, aby dodać '-c/path/to/xxx.conf', ale pojawił się nowy błąd" unix: ///tmp/supervisor.sock brak takiego pliku " . Czemu ? –

+0

To zupełnie inny problem. Opublikuj nowe pytanie. –

0

Aby dodać do ważnej odpowiedzi powyżej upewnij się, że oddanie pliki konfiguracyjne dla aplikacji, które chcesz monitorować w folderze config przełożonego jako podfolder o nazwie conf.d. Będzie to zależeć od metody, której użyjesz do zainstalowania przełożonego, domyślnego menedżera pakietów lub easy_install.

0

Jako rozwiązanie można utworzyć dowiązanie symboliczne do pliku konfiguracyjnego. Jak to dla Mac OS:

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