ubuntu server 16.04: não é possível obter o supervisor para iniciar automaticamente

42

Eu instalei o supervisor no servidor ubuntu 16.04.

$ sudo apt-get install supervisor
$ sudo update-rc.d supervisor defaults

Após a reinicialização, o supervisor não foi iniciado automaticamente. Verificou o status:

qinking126@nas:~$ sudo service supervisor status
[sudo] password for qinking126:
● supervisor.service - Supervisor process control system for UNIX
   Loaded: loaded (/lib/systemd/system/supervisor.service; disabled; vendor preset: enabled)
   Active: inactive (dead)
     Docs: http://supervisord.org

Não sei por que está inativo (morto). O que preciso verificar para corrigi-lo?

qinking126
fonte
2
Parece que você está usando o systemd. Esta resposta do askubuntu ajuda?
Jeff Schaller
1
@JeffSchaller muito obrigado. isso ajuda. toda a necessidade i é executar "systemctl permitir SERVICE.service"
qinking126

Respostas:

61

Estou convencido de que esse problema é um erro de empacotamento no pacote Supervisor no Ubuntu 16.04 e parece ter sido causado pela mudança para systemd:

  • Esse problema já foi relatado a montante no rastreador de problemas do projeto Supervisor (onde nada pode ser corrigido) na edição 735 .

  • Fui mordido por esse problema há alguns dias atrás e fiquei surpreso ao descobrir que esse problema nunca foi relatado aos mantenedores de pacotes, mesmo que o Ubuntu 16.04 tenha sido lançado há algum tempo e isso quebre a compatibilidade com as versões anteriores e o comportamento esperado. Por isso, decidi relatar esse problema aos mantenedores de pacotes no bug 1594740 .

Documentei uma solução simples no bug 1594740 que não requer a criação de nenhum arquivo de configuração - você só precisa ativar e iniciar o daemon Supervisor após a instalação do pacote:

# Make sure Supervisor comes up after a reboot.
sudo systemctl enable supervisor

# Bring Supervisor up right now.
sudo systemctl start supervisor

Não tenho tanta certeza de que isso será corrigido no Ubuntu 16.04, mas pelo menos agora existe um local central para coletar reclamações e documentar soluções alternativas (no bug 1594740 , não no problema 735 ).

Se alguém foi mordido por esse problema, considere expressar sua preocupação no bug 1594740 para convencer os mantenedores de pacotes a corrigir esse problema. Obrigado!

Atualização (24-03-2017): Ontem foi lançada uma correção para esse problema para xenial-updates como resultado do bug 1594740, para que novas instalações não sejam mais executadas para esse problema.

xolox
fonte
1

Aqui está um exemplo de arquivo em que você pode colocar seu / lib / systemd / system /

[Unit]
Description=Supervisord Service

[Service]
Restart=on-failure
RestartSec=42s
User=ubuntu
ExecStart=/usr/local/bin/supervisord -n -c /etc/supervisord.conf

[Install]
WantedBy=multi-user.target
Leonardo Bragatti
fonte
o padrão do Ubuntu localização de configuração está em/etc/supervisord/supervisord.conf
Antti Haapala
@AnttiHaapala Não é para a minha instalação do ubuntu 16.04. A localização correta é: /etc/supervisor/supervisord.conf (note a falta de "d" se alguém está se perguntando)
Rishi
@ Yoshi9143 você está correto: D
Antti Haapala
1

Eu removi o supervisor e instalei novamente. Então funcionou para mim.

sudo apt-get purge supervisor
sudo apt-get install supervisor
cp path/to/file.conf /etc/supervisor/conf.d/
sudo supervisorctl reread
sudo supervisorctl update
Anjaneyulu Batta
fonte
0

O supervisor de instalação do apt-get no Ubuntu 16.04.2, instala o supervisor 3.2.0 e é iniciado automaticamente na reinicialização.

supervisor de instalação do pip - atualize as atualizações para o 3.3.1 e ele não inicia mais.

A atualização funciona no Ubuntu 16.04.1

bsrdjan
fonte
0

Em que CentOSeu resolvi, executando um trabalho cron na inicialização que é executado supervisord:

para Criar a tarefa cron executada crontab -eno terminal e cole @reboot /bin/supervisord( deve ser o caminho para a autoridade supervisora ) no final das tarefas e salve-a.

ako
fonte