Назад | Перейти на главную страницу

Невозможно использовать supervisorctl вне каталога / etc / supervisor

Пользуюсь супервизором уже больше года. Устанавливается из пакета Debian. Когда я на днях обновил пакет, что-то сломалось, и я не могу понять, что.

~> sudo supervisorctl status
http://localhost:9001 refused connection
~> cd /etc/supervisor
~> sudo supervisorctl status
# Works

В моем /etc/supervisor/supervisord.conf, Я сказал супервизору использовать сокет unix следующим образом:

[supervisorctl]
serverurl=unix:///var/run/supervisor.sock

Похоже, что когда я не внутри /etc/supervisor папка, конфигурация просто не загружается и супервизор использует значения по умолчанию (http: // локальный: 9001 по умолчанию для serverurl)

Я проверил, как пакет Debian запускает супервизор, и кажется, что путь к файлу конфигурации является абсолютным, поэтому я не понимаю, почему он не работает.

/usr/bin/python /usr/bin/supervisord -c /etc/supervisor/supervisord.conf

У кого-нибудь есть такая же проблема или решение? Это очень раздражает, так как нарушает мои рецепты. Спасибо

РЕДАКТИРОВАТЬ:

Вот полное содержание /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

И вот запрошенные переменные:

~> which supervisorctl
/usr/bin/supervisorctl
~> which supervisord
/usr/bin/supervisord
~> supervisord --version
3.1.3

Решение на самом деле довольно простое. Supervisord действительно начинается с /etc/supervisor/supervisord.conf файл, но supervisorctl теперь ожидает, что файл конфигурации будет сохранен в /etc/supervisord.conf (как указано в официальной документации). Я не знаю почему это обновление сломалось supervisorctl но это раздражало.

Решение :
# ln -s /etc/supervisor/supervisord.conf /etc/supervisord.conf