我已经使用了超过一年的主pipe了。 它是从Debian软件包安装的。 有一天,当我升级包时,有些东西坏了,我似乎无法弄清楚什么。
~> sudo supervisorctl status http://localhost:9001 refused connection ~> cd /etc/supervisor ~> sudo supervisorctl status # Works
在我的/etc/supervisor/supervisord.conf ,我告诉主pipe使用这样的unix套接字:
[supervisorctl] serverurl=unix:///var/run/supervisor.sock
它看起来像是当我不在/etc/supervisor文件夹中时,configuration只是没有加载,pipe理员使用默认值( http:// localhost:9001是serverurl的默认值)
我检查了Debian软件包启动supervisor的方式,似乎configuration文件的path是绝对的,所以我不明白为什么它不起作用。
/usr/bin/python /usr/bin/supervisord -c /etc/supervisor/supervisord.conf
任何人有同样的问题或解决scheme? 这是非常烦人的,因为它打破了我的食谱。 谢谢
编辑:
这里是/etc/supervisor/supervisord.conf的完整内容:
[unix_http_server] file=/var/run/supervisor.sock chmod=0700 [supervisord] logfile=/var/log/supervisor/supervisord.log pidfile=/var/run/supervisord.pid childlogdir=/var/log/supervisor [rpcinterface:supervisor] supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface [supervisorctl] serverurl=unix:///var/run/supervisor.sock [include] files = /etc/supervisor/conf.d/*.conf
这里是要求的variables:
~> which supervisorctl /usr/bin/supervisorctl ~> which supervisord /usr/bin/supervisord ~> supervisord --version 3.1.3
解决scheme其实很简单。 Supervisord实际上是以/etc/supervisor/supervisord.conf文件启动的,但supervisorctl现在预计configuration文件将存储在/etc/supervisord.conf (如官方文档中所述)。 我不知道为什么这个更新打破了supervisorctl但这是令人讨厌的。
解答:
# ln -s /etc/supervisor/supervisord.conf /etc/supervisord.conf