Answers:
您必须先启动超级用户,然后才能使用超级用户。就我而言:
sudo supervisord -c /etc/supervisor/supervisord.conf
sudo supervisorctl -c /etc/supervisor/supervisord.conf
如果您使用自定义路径启动supervisor,如下所示:
sudo supervisord -c /mypath/supervisord.conf
然后,您还应该使用相同的参数启动supervisorctl,如下所示:
sudo supervisorctl -c /mypath/supervisord.conf
如果使用相对URL启动超级用户-c
,然后尝试从其他目录运行超级用户,则会出现此问题。
例如:
supervisord -c supervisord.conf
supervisorctl start someapp ## works
cd somedirectory
supervisorctl restart someapp ## http://localhost:9001 refused connection
解决方案是始终使用绝对路径。例如:
好:
supervisord -c /etc/supervisor/supervisord.conf
坏:
supervisord -c supervisord.conf
当使用旧版本的supervisord.conf
文件时,也会发生此问题。较新版本的主管使用不同的配置文件。上述解决方案不起作用。在这种情况下,您只需使用以下命令重新生成配置文件
echo_supervisord_conf > /etc/supervisord.conf
希望对您有所帮助。
/etc/supervisord.conf
当我的服务管理器(systemd)使用配置文件时,您可能犯了与我创建配置文件时相同的错误/etc/supervisor/supervisord.conf
sudo rm /etc/supervisord.conf
要么
sudo mv /etc/supervisord.conf /etc/supervisor/supervisord.conf
如果你想保留它
现在您可以运行 sudo supervisorctl
当您运行supervisorctl
它时,它首先搜索位于的配置文件/etc/supervisord.conf
(如果不存在),它将搜索程序包的默认文件,/etc/supervisor/supervisord.conf
这是systemd实际运行的文件。
Systemd始终使用文件/etc/supervisor/supervisord.conf
无论其他文件是否存在,。
您可以通过运行以下命令检查正在使用systemd的文件sudo systemctl status supervisor