supervisorctl 3.3.1 http://localhost:9001 拒绝连接

Kar*_*son 13 16.04 supervisor

root@dev-demo-karl:/srv/www# supervisord -v
3.3.1
Run Code Online (Sandbox Code Playgroud)

试图让supervisorctl工作:

root@dev-demo-karl:/srv/www# supervisorctl
http://localhost:9001 refused connection
Run Code Online (Sandbox Code Playgroud)

我的配置:

[supervisord]
nodaemon=true

[supervisorctl]
Run Code Online (Sandbox Code Playgroud)

Kar*_*son 18

显然,3.0 及更高版本的配置文件有必填字段http://supervisord.org/configuration.html

[inet_http_server] 是必须的:

TCP 主机:端口值或(例如 127.0.0.1:9001),主管将在其上侦听 HTTP/XML-RPC 请求。supervisorctl 将使用 XML-RPC 通过此端口与 supervisord 通信。要侦听机器中的所有接口,请使用 :9001 或 *:9001。

默认值:无默认值。

要求:是。

引入:3.0

还需要 [rpcinterface:supervisor] 因为它抱怨。

所以我的配置必须如下所示:

[supervisord]
nodaemon=true

[supervisorctl]

[inet_http_server]
port = 127.0.0.1:9001

[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface
Run Code Online (Sandbox Code Playgroud)

现在它连接了。


小智 6

如果http://localhost:9001 refused connection出现错误,请务必检查以下内容。

  1. 确保supervisord正在运行
  2. supervisord.conf文件中启用(未注释)这些:
    a)

    [inet_http_server]         
    port=127.0.0.1:9001
    
    Run Code Online (Sandbox Code Playgroud)

    b)

    [supervisorctl]
    serverurl=http://127.0.0.1:9001
    
    Run Code Online (Sandbox Code Playgroud)

    C)

    [rpcinterface:supervisor]
    supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface
    
    Run Code Online (Sandbox Code Playgroud)

注意: inet 服务器的主机和端口与 supervisorctl 尝试连接的主机和端口应该相同。


小智 5

首先,你应该开始supervisord-c标志,并指出CFG文件。

sudo supervisord -c /path/to/config/file

在那次跑步之后 supervisorctl

尝试运行supervisordsudo,以确保这不是premission问题。如果一切正常,您可以在没有sudo.

-csupervisorctl如果我没记错的话,也可能需要 flag ,但我不确定它是否有必要。