Отсутствует файл сокета супервизора

Я установил 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 запускается после перезагрузки и продолжает нормально работать. Итак, хотя у него могут быть ошибки, он выполняет свою работу. Это не препятствие для показа, но я бы хотел, чтобы это работало должным образом.

Есть идеи?

3
задан 13 October 2016 в 02:14
4 ответа

Это случается со мной, когда физическая машина перезагружается. Мои машины работают в режиме Ubuntu, в диапазоне от 12.04 до 16.04. Я решаю это путем перезапуска супервизора как службы.

sudo service supervisor stop
sudo service supervisor start 

(Это как-то работает намного лучше, чем просто использование 'перезагрузки')

Очевидно, что это не идеальное решение, если вы зависите от супервизора, чтобы он запускал для вас другие программы без необходимости перезагрузки после каждой перезагрузки. В настоящее время я изучаю systemd, как предлагали другие.

Правка: Если вы находитесь на Ubuntu 16.04, то этот ответ может исправить всю вашу проблему, как и мою. Вы должны 'включить' systemd, чтобы запустить супервизор. https://unix.stackexchange.com/a/291098

6
ответ дан 3 December 2019 в 05:11

У меня возникла эта проблема при размещении моего приложения django. Моя машина - aws => ec2 => ubuntu 18.x

У меня была неправильная конфигурация моего bash-файла gunicorn. когда я исправил проблему с путём в файле gunicorn. supervisor снова начал работать.

убедитесь, что вы правильно настроили:

DJANGODIR=/home/ubuntu/<my-project>               # Django project directory
SOCKFILE=/home/ubuntu/<my-project>/run/gunicorn.sock  # we will communicte using this unix socket
1
ответ дан 3 December 2019 в 05:11

Вот в моем случае. Скажем, ошибка unix:///var/run/supervisord.sock нет такого файла при вводе этой команды sudo supervisorctl status

Итак, мое решение:

  1. Открыть конфигурацию супервизора файл sudo nano /etc/supervisor/supervisord.conf
  2. Проверьте строку, на которую указывает serverurl пути supervisorctl.
[supervisorctl]
serverurl=unix:///var/run/supervisord.sock ; use a unix:// URL  for a unix socket
  1. Измените путь к серверу на unix:///var/run/supervisor.sock. См. разницу между супервизоромd и супервизором
  2. Перезапустите супервизор рестарт супервизора сервиса
  3. Проверьте статус супервизора статус супервизора сервиса sudo
  4. Проверьте еще раз, если ошибка все еще присутствует sudo supervisorctl status, если да, попробуйте удалить конфигурацию в /etc/supervisor/conf.d/... или переустановить супервизор
6
ответ дан 26 March 2020 в 05:47

Итак, у меня была та же проблема, и я использовал супервизор, используя пользователя без полномочий root. Суть в том, что вы должны убедиться, что служба супервизора работает. Для этого сначала найдите и запустите супервизора. Поскольку я использовал pyenv это команда, которую я запустил

$ ~/.pyenv/versions/3.8.9/bin/supervisord -c ~/etc/supervisor/supervisord.conf

Конфигурация supervisord.conf была создана мной и размещена там.

Теперь запуск supervisorctl работает отлично.

$ ~/.pyenv/versions/3.8.9/bin/supervisorctl -c ~/etc/supervisor/supervisord.conf
0
ответ дан 17 June 2021 в 05:27

Теги

Похожие вопросы