ubuntu server 16.04: no se puede hacer que el supervisor se inicie automáticamente

43

Instalé supervisor en ubuntu server 16.04.

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

Después de reiniciar, el supervisor no comenzó automáticamente. Comprobado el estado:

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

No estoy seguro de por qué está inactivo (muerto). ¿Qué necesito verificar para arreglarlo?

qinking126
fuente
2
Parece que estás usando systemd. ¿ Esto askubuntu responde ayuda?
Jeff Schaller
1
@JeffSchaller muchas gracias. ayuda. todo lo que necesito es ejecutar "systemctl enable SERVICE.service"
qinking126

Respuestas:

61

Estoy convencido de que este problema es un error de empaquetado en el paquete Supervisor en Ubuntu 16.04 y parece haber sido causado por el cambio a systemd:

  • Este problema ya se informó en el rastreador de problemas del proyecto Supervisor (donde no se puede solucionar nada) en el problema 735 .

  • Hace unos días me mordió este problema y me sorprendió descubrir que este problema nunca se informó a los encargados del mantenimiento del paquete, a pesar de que Ubuntu 16.04 se lanzó hace bastante tiempo y esto rompe la compatibilidad con versiones anteriores y el comportamiento esperado. Es por eso que decidí informar este problema a los mantenedores de paquetes en el error 1594740 .

Documenté una solución simple en el error 1594740 que no requiere la creación de ningún archivo de configuración: solo necesita habilitar e iniciar el demonio Supervisor después de la instalación del paquete:

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

# Bring Supervisor up right now.
sudo systemctl start supervisor

No estoy tan seguro de que esto se arregle en Ubuntu 16.04, pero al menos ahora hay un lugar central para reunir quejas y documentar soluciones (en el error 1594740 , no en el problema 735 ).

Si este problema mordió a alguien, considere expresar su preocupación en el error 1594740 para convencer a los encargados del paquete de que solucionen este problema. ¡Gracias!

Actualización (2017-03-24): Ayer se lanzó una solución para este problema a xenial-updates como resultado del error 1594740, por lo que las nuevas instalaciones ya no deberían tener este problema.

xolox
fuente
1

Aquí hay un ejemplo de un archivo donde puede poner en su / 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
fuente
la ubicación de configuración predeterminada de ubuntu es/etc/supervisord/supervisord.conf
Antti Haapala
@AnttiHaapala No es para mi ubuntu 16.04 instalar. La ubicación correcta es: /etc/supervisor/supervisord.conf (observe la falta de "d" si alguien se pregunta)
Rishi
@ Yoshi9143 tienes razón: D
Antti Haapala
1

Lo he eliminado supervisor e instalado nuevamente. Entonces funcionó para mí.

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
fuente
0

apt-get install supervisor en Ubuntu 16.04.2, instala el supervisor 3.2.0 y se inicia automáticamente al reiniciar.

supervisor de instalación de pip: actualice las actualizaciones a 3.3.1 y ya no se iniciará en absoluto.

La actualización funciona Ubuntu 16.04.1

bsrdjan
fuente
0

En lo CentOSresolví ejecutando un trabajo cron en el inicio que se ejecuta supervisord:

para crear el trabajo cron ejecutado crontab -een el terminal y luego pegarlo @reboot /bin/supervisord( debe ser la ruta al supervisor ) al final de los trabajos y guardarlo.

ako
fuente