2013-06-09 36 views
41

tôi đã thiết lập sau đây trong /home/david/conf/supervisor.conf:Supervisorctl không tôn trọng cấu hình của tôi

[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 

Và bắt đầu :

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

Tuy nhiên làm thế nào mà supervisorctl vẫn sử dụng mặc định http://localhost:9001 như serverurl?

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

Tôi đã kiểm tra /home/david/tmp và các tập tin supervisord.logsupervisord.pid vẫn tồn tại.

Trả lời

85

Bạn cũng nên chạy supervisorctl với -c. Từ tài liệu (nhấn mạnh của tôi):

Tệp cấu hình giám sát thường được đặt tên supervisord.conf. Nó được sử dụng bởi cả hai supervisordsupervisorctl. Nếu một trong hai ứng dụng được bắt đầu mà không có sự lựa chọn -c (tùy chọn mà được sử dụng để nói với các ứng dụng cấu hình filename rõ ràng), ứng dụng sẽ tìm kiếm một tập tin có tên supervisord.conf trong các địa điểm sau, trong quy định đơn đặt hàng. Nó sẽ sử dụng tập tin đầu tiên mà nó tìm thấy.

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

Nếu bạn có thể, di chuyển các file của bạn vào thư mục tìm kiếm được liệt kê trong đoạn mã, vì sợ rằng bạn quên thêm '-c' hoặc tạo bí danh trong trình bao của mình. :) –

+0

Tôi đã gặp vấn đề tương tự và tôi làm theo lời khuyên của bạn để thêm '-c/path/to/xxx.conf', nhưng nó đã đưa ra một lỗi mới" unix: ///tmp/supervisor.sock không có tệp như vậy " . Tại sao ? –

+0

Đó là một vấn đề khác hoàn toàn. Vui lòng đăng câu hỏi mới. –

0

Để thêm vào câu trả lời hợp lệ trên chắc chắn rằng bạn đang đặt tập tin cấu hình của bạn cho ứng dụng bạn muốn theo dõi trong thư mục cấu hình giám sát như một thư mục con được gọi là conf.d. Điều này sẽ phụ thuộc vào phương pháp bạn sử dụng để cài đặt giám sát, trình quản lý gói mặc định hoặc easy_install.

0

Là giải pháp bạn có thể tạo liên kết tượng trưng cho tệp cấu hình. Như thế này dành cho Mac OS:

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

Các vấn đề liên quan