Serwer Ubuntu 16.04: nie można uzyskać od administratora, aby uruchomił się automatycznie

42

Zainstalowałem opiekuna na serwerze Ubuntu 16.04.

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

Po ponownym uruchomieniu nadzorca nie uruchomił się automatycznie. Sprawdzono 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

Nie jestem pewien, dlaczego jest nieaktywny (martwy). Co muszę sprawdzić, aby to naprawić?

qinking126
źródło
2
Wygląda na to, że używasz systemd. Czy ta odpowiedź na pytanie zadaje pytanie?
Jeff Schaller
1
@JeffSchaller bardzo dziękuję. to pomaga. wszystko, czego potrzebuję, to uruchomić „systemctl enable SERVICE.service”
qinking126

Odpowiedzi:

61

Jestem przekonany, że ten problem jest błędem w pakiecie w pakiecie Supervisor w Ubuntu 16.04 i wydaje się, że został spowodowany przejściem na systemd:

  • Ten problem został już zgłoszony w narzędziu do śledzenia problemów projektu Supervisor (gdzie nic nie można naprawić) w numerze 735 .

  • Kilka dni temu ugryzł mnie ten problem i ze zdumieniem stwierdziłem, że ten problem nigdy nie został zgłoszony do opiekunów pakietów, mimo że Ubuntu 16.04 został wydany dość dawno temu, co psuje kompatybilność wsteczną i oczekiwane zachowanie. Dlatego postanowiłem zgłosić ten problem opiekunom pakietów w błędzie 1594740 .

Udokumentowałem proste obejście w błędzie 1594740, które nie wymaga tworzenia żadnych plików konfiguracyjnych - wystarczy włączyć i uruchomić demona Supervisora ​​po instalacji pakietu:

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

# Bring Supervisor up right now.
sudo systemctl start supervisor

Nie jestem pewien, czy zostanie to naprawione w Ubuntu 16.04, ale przynajmniej teraz jest centralne miejsce do zbierania skarg i obejść dokumenty (w błędzie 1594740 , nie w numerze 735 ).

Jeśli ktoś ugryzł ten problem, zastanów się nad zgłoszeniem błędu w błędzie 1594740, aby przekonać opiekunów pakietu do rozwiązania tego problemu. Dzięki!

Aktualizacja (24.03.2017): Wczoraj Poprawkę dotyczącą tego problemu został wydany do xenial-updates w wyniku błędu 1594740 więc nowe instalacje nie powinny już działać w tej kwestii.

Xolox
źródło
1

Oto przykład pliku, w którym można umieścić plik / 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
źródło
domyślna lokalizacja konfiguracji ubuntu to/etc/supervisord/supervisord.conf
Antti Haapala
@AnttiHaapala Nie dla mojej instalacji Ubuntu 16.04. Prawidłowa lokalizacja to: /etc/supervisor/supervisord.conf (zauważ, że brak „d”, jeśli ktoś się zastanawia)
Rishi,
@ Yoshi9143 masz rację: D
Antti Haapala
1

Usunąłem go i ponownie zainstalowałem. Potem zadziałało dla mnie.

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
źródło
0

apt-get install supervisor na Ubuntu 16.04.2, instaluje supervisor 3.2.0 i uruchamia się automatycznie po ponownym uruchomieniu.

nadzorca instalacji pip - zaktualizuj aktualizacje do wersji 3.3.1 i już się nie uruchamia.

Aktualizacja działa Ubuntu 16.04.1

bsrdjan
źródło
0

On CentOSrozwiązałem go, uruchamiając zadanie CRON przy starcie, które działa supervisord:

aby utworzyć zadanie cron uruchomione crontab -ew terminalu, a następnie wklej @reboot /bin/supervisord( musi to być ścieżka do organu nadzorczego ) na końcu zadań i zapisz je.

ako
źródło