Problema na porta do servidor HTTP do supervisor

65

Eu tenho uma configuração de supervisor para gerenciar alguns processos. Funciona perfeitamente bem quando eu inicializo meu servidor, no entanto, quando eu o paro e tento iniciá-lo novamente, ele falha e me dá esse erro:

 * Iniciando o gerenciador de daemon do Supervisor ...
Erro: outro programa já está escutando em uma porta que um de nossos servidores HTTP está configurado para usar. Encerre este programa primeiro antes de iniciar o supervisord.
Para obter ajuda, use / usr / bin / supervisord -h
   ...falhou!

Estou executando o nginx nas portas 80 e 4 servidores web nas portas 8000, 8001, 8002, 8003

Alguém tem alguma idéia do que está acontecendo?

Quando eu reinicio tudo funciona bem.


fonte

Respostas:

91

Apenas corri para isso também. Corrigi-o fazendo um destes:

sudo unlink /tmp/supervisor.sock

sudo unlink /var/run/supervisor.sock

Esse arquivo .sock é definido no valor de configuração do arquivo /etc/supervisord.conf [unix_http_server] (o padrão é /tmp/supervisor.sock ou /var/run/supervisor.sock).

Espero que isso ajude alguém no futuro.

ramayac
fonte
12
@sdolan Uau, isso me ajudou! Eu removi o arquivo /var/run/supervisor.sock e me livrei de erros no Debian Stable
Abhishek A
2
executar a / supervisor.sock -name achado antes de executar unlink - em sistemas Debian Senta-se em / var / run /, mas sua solução unlink funcionou para mim
AndrewPK
2
Por que o supervisor não termina com um código de erro para permitir que os scripts desvinculem automaticamente e tente novamente?
Tal Weiss
Tenha cuidado aqui. Após desvincular, execute "ps -ef | grep supervisord" e você verá que o processo antigo ainda está em execução. Você pode querer "matar <process_id>" também. EDIT: Este foi o meu caso ao usar o Ubuntu 14.04.
jball037
11
Após o comando desvincular, estou tentando reiniciar o supervisor, mas agora o .sock está ausente. unix:///tmp/supervisor.sock no such file. Então, o que mais eu preciso fazer?
Robert
7

Eu usaria lsof para descobrir qual processo está escutando nessas portas.

lsof -i tcp | grep LISTEN

Depois de descobrir qual é o processo, isso é metade da batalha.

gorila
fonte