Celeb Glow
updates | April 02, 2026

supervisorctl 3.3.1 http://localhost:9001 refused connection

root@dev-demo-karl:/srv/www# supervisord -v
3.3.1

Trying to get supervisorctl working:

root@dev-demo-karl:/srv/www# supervisorctl refused connection

My config:

[supervisord]
nodaemon=true
[supervisorctl]

4 Answers

Apparently there are required fields for the configuration file for version 3.0 and upwards

[inet_http_server] is required:

A TCP host:port value or (e.g. 127.0.0.1:9001) on which supervisor will listen for HTTP/XML-RPC requests. supervisorctl will use XML-RPC to communicate with supervisord over this port. To listen on all interfaces in the machine, use :9001 or *:9001.

Default: No default.

Required: Yes.

Introduced: 3.0

Also [rpcinterface:supervisor] is required as it complains.

So my configuration must look like so:

[supervisord]
nodaemon=true
[supervisorctl]
[inet_http_server]
port = 127.0.0.1:9001
[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface

Now it connects.

1

Be sure to check the following if you get the refused connection error.

  1. Make sure supervisord is running
  2. Have these enabled (uncommented) in supervisord.conf file:
    a)

    [inet_http_server]
    port=127.0.0.1:9001

    b)

    [supervisorctl]
    serverurl=

    c)

    [rpcinterface:supervisor]
    supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface

Note: The host and port of the inet server and the one which supervisorctl is trying to connect to should be the same.

1

At first You should start supervisord with -c flag and point the cfg file.

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

after that run supervisorctl

Try to run supervisord with sudo to make sure this is not premission issue. If everything works right You may start the app without the sudo.

-c flag may be needed with supervisorctl as well if I remember correct, but I'm not sure its necessary.

By Default inet_http_server is turned off in supervisor config. You need to enable if if exist or add the following lines if it doesn't

[inet_http_server] port = 127.0.0.1:9001

Then restart Supervisord; You should be all set sudo supervisorctl status should show processes with corresponding statuses

1

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy