Supervisorctl不尊重我的configuration
我在/home/david/conf/supervisor.conf
设置了以下/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
并开始supervisord :
$ supervisord -c /home/david/conf/supervisor.conf
然而, supervisorctl
如何仍然使用默认的http://localhost:9001
作为serverurl
?
$ supervisorctl http://localhost:9001 refused connection supervisor>
我检查了/home/david/tmp
,文件supervisord.log
和supervisord.pid
确实存在。
你也应该用-c
来运行-c
。 从文档(我的重点):
Supervisorconfiguration文件通常被命名为
supervisord.conf
。 它由supervisord
和supervisorctl
。 如果任一应用程序在没有-c
选项的情况下启动 (用于显式指定configuration文件名的选项),应用程序将按照指定的顺序在以下位置查找名为supervisord.conf的文件。 它将使用它find的第一个文件。
$CWD/supervisord.conf
$CWD/etc/supervisord.conf
/etc/supervisord.conf
要添加上面的有效答案,请确保您将要在监控程序的config文件夹下监控的应用程序的configuration文件作为名为conf.d的子文件夹。 这将取决于您使用什么方法安装pipe理程序,默认软件包pipe理器或easy_install。
作为解决scheme,您可以使configuration文件的符号链接。 像这样的Mac OS:
sudo ln -sv /usr/local/etc/supervisord.ini /etc/supervisord.conf