Проблема с портом сервера HTTP супервизора

65

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

 * Запуск диспетчера демонов Supervisor ...
Ошибка: другая программа уже прослушивает порт, который настроен для использования одним из наших HTTP-серверов. Перед запуском супервизора отключите эту программу.
Для помощи используйте / usr / bin / supervisord -h
   ...провал!

Я использую nginx на порте 80 и 4 веб-сервера на портах 8000, 8001, 8002, 8003

Кто-нибудь имеет представление о том, что происходит?

При перезагрузке все работает нормально.


источник

Ответы:

91

Просто столкнулся с этим. Я исправил это, выполнив одно из следующих действий:

sudo unlink /tmp/supervisor.sock

sudo unlink /var/run/supervisor.sock

Этот файл .sock определен в /etc/supervisord.conf значении конфигурации файла [unix_http_server] (по умолчанию это /tmp/supervisor.sock или /var/run/supervisor.sock).

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

ramayac
источник
12
@sdolan Wow это помогло мне! Я удалил /var/run/supervisor.sock и избавился от ошибки в Debian Stable
Abhishek
2
запустите find / -name supervisor.sock перед тем, как запускать unlink - в системах Debian он находится в / var / run /, но ваше решение по unlink сработало для меня
AndrewPK
2
Почему супервизор не завершает работу с кодом ошибки, позволяющим сценариям автоматически отключаться и повторять попытки?
Тал Вайс
Будьте осторожны здесь. После удаления ссылки запустите «ps -ef | grep supervisord», и вы увидите, что старый процесс все еще работает. Вы также можете захотеть убить <process_id>. РЕДАКТИРОВАТЬ: Это был мой случай при использовании Ubuntu 14.04.
jball037
1
После команды unlink я пытаюсь перезапустить супервизор, но теперь .sock пропущен. unix:///tmp/supervisor.sock no such file, Так что еще мне нужно сделать.
Роберт,
7

Я бы использовал lsof, чтобы узнать, какой процесс прослушивает эти порты.

lsof -i tcp | grep LISTEN

Как только вы выяснили, что это за процесс, это уже полдела.

горилла
источник