Я установил Supervisor (v3.1.2) для управления ElastAlert, но когда я запускаю supervisorctl
иногда возникает эта ошибка:
unix:///var/run/supervisor.sock no such file
а в других случаях это вызывает эту ошибку:
unix:///tmp/supervisor.sock no such file
Замечу, что это действительно подводит меня к supervisor>
приглашение, но команды после этого являются теми же ошибками, что и выше. В /etc/supervisor/supervisor.conf
файл настроен на использование /var/run
, что, похоже, не согласуется со второй ошибкой.
Я создал ссылку на /etc/supervisor.conf
, как предлагали другие страницы справки, но это не имело значения.
Две странные вещи: когда я впервые установил Supervisor, он работал нормально, но эта проблема началась после перезагрузки. И еще одна странность в том, что ElastAlert запускается после перезагрузки и продолжает нормально работать. Итак, хотя у него могут быть ошибки, он выполняет свою работу. Не шоу-стоппер, но хотелось бы, чтобы это работало как следует.
Любые идеи?
Это происходит со мной, когда физическая машина перезагружается. На моих машинах работает Ubuntu с 12.04 по 16.04. Я решаю это перезапуском супервизора как службы.
sudo service supervisor stop
sudo service supervisor start
(Это как-то работает намного лучше, чем просто использование «перезапуска»)
Очевидно, что это не идеальное решение, если вы зависите от Supervisor, чтобы запускать другие программы за вас без необходимости перезапуска после каждой перезагрузки. Я сейчас изучаю systemd
как предлагали другие.
Изменить: если вы используете Ubuntu 16.04, этот ответ может решить все ваши проблемы, как и мою. Вы должны «включить» systemd, чтобы запустить supervisord. https://unix.stackexchange.com/a/291098
У меня возникла эта проблема при размещении моего приложения django. Моя машина - aws => ec2 => ubuntu 18.x
У меня была неправильная конфигурация моего bash-файла Gunicorn. когда я исправил проблему с путём в файле gunicorn. супервайзер снова начал работать.
убедитесь, что вы правильно его настроили:
DJANGODIR=/home/ubuntu/<my-project> # Django project directory
SOCKFILE=/home/ubuntu/<my-project>/run/gunicorn.sock # we will communicte using this unix socket
Вот в моем случае. Допустим, ошибка unix:///var/run/supervisord.sock no such file
при вводе этой команды sudo supervisorctl status
Итак, мое решение:
sudo nano /etc/supervisor/supervisord.conf
[supervisorctl]
serverurl=unix:///var/run/supervisord.sock ; use a unix:// URL for a unix socket
unix:///var/run/supervisor.sock
. Увидеть разницу в супервайзереd и руководительservice supervisor restart
sudo service supervisor status
sudo supervisorctl status
если да, попробуйте удалить свою конфигурацию в /etc/supervisor/conf.d/ ...
или переустановите супервизор