Ошибка сокета супервизора [закрыто]


99
$ supervisorctl reread
error: <class 'socket.error'>, [Errno 111] Connection refused: file: /usr/lib64/python2.6/socket.py line: 567

Я пытаюсь настроить супервизор в своей производственной системе, но у меня возникает эта ошибка. Файл журнала супервизора пуст.

Когда я просто печатаю supervisorctl, он жалуется:

http://localhost:9001 refused connection

В настоящее время порт 9001 не прослушивается, АФАКТИЧЕСКИЙ: lsof | grep TCPничего не возвращает.

Ответы:


173

Вы должны запустить supervisord, прежде чем сможете использовать supervisorctl. В моем случае:

sudo supervisord -c /etc/supervisor/supervisord.conf
sudo supervisorctl -c /etc/supervisor/supervisord.conf

2
Вам не нужно использовать sudo supervisorctl, но у меня возникли проблемы с разрешениями, из-за которых я отказался от решения этой проблемы,
kelorek

1
Я выдал то же самое, что и келорек, но указанная выше команда не сработала.
Charlesliam

Что возвращается, когда вы нажимаете Enter?
kelorek

5
192.168.111.100:9001 отказано в соединении
Чарльзлиам

Отличный человек, мой супервайзер работает уже много лет!
Jaimin 03

37

Если вы запустили supervisord с пользовательским путем, например:

sudo supervisord -c /mypath/supervisord.conf

Затем вы также должны запустить supervisorctl с тем же параметром, например:

sudo supervisorctl -c /mypath/supervisord.conf

2
это действительно помогло мне
Джастин М. Укар

12

Вы можете получить эту проблему, если запустите supervisor с относительным URL-адресом для, -cа затем попытаетесь запустить supervisorctl из другого каталога.

Например:

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

5

Эта проблема также возникает при использовании старой версии supervisord.confфайла. Более новая версия супервизора использует другой файл конфигурации. Приведенные выше решения не работают. В этом случае вам просто нужно регенерировать файл конфигурации с помощью

echo_supervisord_conf > /etc/supervisord.conf

Надеюсь, это кому-то поможет.


3

сделайте следующее:

sudo service supervisor start

пост который все нормально как b4 - проблема с 1b версией

sudo supervisorctl reload


2

В Ubuntu 18.04 с дистрибутивом

Вероятно, вы сделали ту же ошибку, что и я, и создали файл конфигурации, в /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

введите описание изображения здесь Вы можете увидеть в последней строке команду, в которой жестко запрограммирован файл конфигурации


-1

оба supervisordи supervisorctlиспользуйте -cс абсолютным путем к файлу конфигурации, убедитесь, что обе команды запускаются с одинаковой конфигурацией.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.