Żądanie uruchomienia usługi zostało powtórzone zbyt szybko, odmowa uruchomienia


14

Stworzyłem usługę na Debianie 8.6 i gdy próbuję uruchomić ją za pomocą polecenia service, pojawia się błąd.

Próbowałem systemctl daemon-reload, ale wciąż otrzymuję ten sam rezultat.

$ sudo service cloud9 start
$ sudo service cloud9 status
● cloud9.service - cloud9
   Loaded: loaded (/etc/systemd/system/cloud9.service; enabled)
   Active: failed (Result: start-limit) since Thu 2016-10-13 07:21:02 UTC; 2s ago
  Process: 2610 ExecStart=/opt/bitnami/nodejs/bin/node /home/user/c9sdk/server.js -w /home/user -l 0.0.0.0 -a admin:admin (code=exited, status=216/GROUP)
 Main PID: 2610 (code=exited, status=216/GROUP)

Oct 13 07:21:02 test-vm systemd[1]: cloud9.service: main process exited, code=exited, status=216/GROUP
Oct 13 07:21:02 test-vm systemd[1]: Unit cloud9.service entered failed state.
Oct 13 07:21:02 test-vm systemd[1]: cloud9.service holdoff time over, scheduling restart.
Oct 13 07:21:02 test-vm systemd[1]: Stopping cloud9...
Oct 13 07:21:02 test-vm systemd[1]: Starting cloud9...
Oct 13 07:21:02 test-vm systemd[1]: cloud9.service start request repeated too quickly, refusing to start.
Oct 13 07:21:02 test-vm systemd[1]: Failed to start cloud9.
Oct 13 07:21:02 test-vm systemd[1]: Unit cloud9.service entered failed state.

Konfiguracja znajduje się w /etc/systemd/system/cloud9.service:

[Unit]
Description=cloud9

[Service]
ExecStart=/opt/bitnami/nodejs/bin/node /home/user/c9sdk/server.js -w /home/user -l 0.0.0.0 -a admin:admin
Restart=always
User=nobody
Group=nobody
Environment=PATH=/bin:/usr/bin:/usr/local/bin
Environment=NODE_ENV=production
WorkingDirectory=/home/user/c9sdk

[Install]
WantedBy=multi-user.target

1
Jeśli błąd wydrukowany przez systemctl nie jest bardzo wyraźny, może to być spowodowane tym, że podstawowa przyczyna została połknięta i zamaskowana jako ogólny błąd uruchamiania. Prawdopodobnie pomocnym sposobem, aby dowiedzieć się, dlaczego nie działa, może być po prostu ręczne uruchomienie polecenia określonego w dyrektywie ExecStart. W moim przypadku podstawowa przyczyna wyskoczyła wprost na mnie.
Ubunfu

Odpowiedzi:


6
2610 ExecStart = / opt / bitnami / nodejs / bin / node /home/user/c9sdk/server.js -w / home / user -l 0.0.0.0 -a admin: admin (kod = zakończony, status = 216 / GROUP)
…
13 października 07:21:02 test-vm systemd [1]: cloud9.service: główny proces zakończony, kod = zakończony, status = 216 / GROUP

… Który opisuje problem. Twoja grupa nobodynie jest prawidłową grupą w twoim systemie. Podaj prawidłową grupę.

Środowisko = ŚCIEŻKA = / bin: / usr / bin: / usr / local / bin

Jest to prawdopodobnie niepotrzebne.

-w / home / user -l 0.0.0.0

W lepszym świecie, Cloud9 program serwisowy tutaj otrzymałby gniazda odsłuchu jako otwartego deskryptora pliku, a dziedziczyć jego katalog roboczy (który, jak na ironię, to nie jawnie ustawić w innym miejscu w jednostce).

Dalsza lektura


2

Usunięcie parametru Uruchom ponownie i dodanie poprawnego użytkownika / grupy pomogło mi rozwiązać problem.

[Unit]
Description=cloud9

[Service]
ExecStart=/opt/bitnami/nodejs/bin/node /home/user/c9sdk/server.js -w /home/user -l 0.0.0.0 -a admin:admin
User=user
Group=group
Environment=PATH=/bin:/usr/bin:/usr/local/bin
Environment=NODE_ENV=production
WorkingDirectory=/home/user/c9sdk

[Install]
WantedBy=multi-user.target
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.