Ответ 1
Вы должны начать супервизор, прежде чем сможете использовать supervisorctl. В моем случае:
sudo supervisord -c /etc/supervisor/supervisord.conf
sudo supervisorctl -c /etc/supervisor/supervisord.conf
$ 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, AFACT: lsof | grep TCP
ничего не возвращает.
Вы должны начать супервизор, прежде чем сможете использовать supervisorctl. В моем случае:
sudo supervisord -c /etc/supervisor/supervisord.conf
sudo supervisorctl -c /etc/supervisor/supervisord.conf
Если вы начали супервизор с пользовательским путем, например:
sudo supervisord -c /mypath/supervisord.conf
Затем вы также должны запустить supervisorctl с тем же параметром, например:
sudo supervisorctl -c /mypath/supervisord.conf
Вы можете получить эту проблему, если вы начнете супервизор с относительным 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
Эта проблема также возникает, когда используется старый файл supervisord.conf
.
В более новой версии диспетчера используется другой файл конфигурации.
Вышеупомянутые решения не работают.
В этом случае вам просто нужно восстановить файл конфигурации с помощью
echo_supervisord_conf > /etc/supervisord.conf
Надеюсь, что это поможет кому-то.
сделайте следующее:
sudo service supervisor start
сообщение, в котором все нормально, как b4 - есть проблема с версией 1b
sudo supervisorctl reload
Вы, вероятно, сделали ту же ошибку, что и я, и создали файл конфигурации /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
В последней строке вы можете увидеть команду, где файл конфигурации жестко закодирован
и supervisord
и supervisorctl
используйте -c
с абсолютным пути к файлу конфигурации, убедитесь, что обе команды запускаются с одинаковой конфигурацией.