我在/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
确实存在。
答案 0 :(得分:87)
您也应该使用supervisorctl
运行-c
。从文档(我的重点):
Supervisor配置文件通常以命名方式命名
supervisord.conf
。它由supervisord
和supervisorctl
使用。 如果 应用程序是在没有-c
选项的情况下启动的(选项是哪个 用于告诉应用程序配置文件名 显式),应用程序将查找名为的文件 supervisord.conf位于以下位置,在指定的位置 订购。它将使用它找到的第一个文件。
$CWD/supervisord.conf
$CWD/etc/supervisord.conf
- 醇>
/etc/supervisord.conf
答案 1 :(得分:0)
要添加上面的有效答案,请确保将要监视的应用程序的配置文件放在supervisor的配置文件夹下,作为名为conf.d的子文件夹。这取决于您使用什么方法安装supervisor,默认包管理器或easy_install。
答案 2 :(得分:0)
作为解决方案,您可以对配置文件进行符号链接。 像Mac OS一样:
sudo ln -sv /usr/local/etc/supervisord.ini /etc/supervisord.conf
答案 3 :(得分:0)
brew
安装 brew install supervisor
/usr/local/etc/supervisord.ini
并评论以下几行:;[unix_http_server]
;file=/usr/local/var/run/supervisor.sock ; the path to the socket file
并取消注释以下行:
[inet_http_server] ; inet (TCP) server disabled by default
port=127.0.0.1:9001 ; ip_address:port specifier, *:port for all iface
brew services restart supervisor
这就是您所需要的。