supervisorctl 3.3.1 http://localhost:9001 отказал в соединении
root@dev-demo-karl:/srv/www# supervisord -v
3.3.1
Пытаясь получить supervisorctl
за работой:
root@dev-demo-karl:/srv/www# supervisorctl
http://localhost:9001 refused connection
Мой конфиг:
[supervisord]
nodaemon=true
[supervisorctl]
4 ответа
Видимо, есть обязательные поля для файла конфигурации для версии 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
Теперь это соединяет.
Не забудьте проверить следующее, если вы получаете http://localhost:9001 refused connection
ошибка.
- Удостовериться
supervisord
бежит Включите их (без комментариев) в
supervisord.conf
файл:
а)[inet_http_server] port=127.0.0.1:9001
б)
[supervisorctl] serverurl=http://127.0.0.1:9001
с)
[rpcinterface:supervisor] supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface
Примечание: хост и порт сервера inet и тот, к которому пытается подключиться supervisorctl, должны быть одинаковыми.
Сначала вы должны начать supervisord
с -c
отметьте и укажите файл cfg.
sudo supervisord -c /path/to/config/file
после этого запуска supervisorctl
Попробуй запустить supervisord
с sudo
чтобы убедиться, что это не проблема представления. Если все работает правильно, вы можете запустить приложение без sudo
,
-c
флаг может быть необходим с supervisorctl
также, если я правильно помню, но я не уверен, что это необходимо.
По умолчанию inet_http_server отключен в конфигурации супервизора. Вам нужно включить, если существует, или добавить следующие строки, если это не так
[inet_http_server] port = 127.0.0.1:9001
Затем перезапустите Supervisord; Вы должны быть все готово sudo supervisorctl status
должен показывать процессы с соответствующими статусами