Vytvořil jsem službu v Debianu 8.6 a když se ji pokouším spustit pomocí příkazu service, zobrazí se chyba.
Zkoušel jsem systemctl daemon-reload
, ale stále stejný výsledek.
$ 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 //eadn-wc01-5196795.nxedge.io/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.
Konfigurace je v /etc/systemd/system/cloud9.service
:
[Unit]
Description=cloud9
[Service]
ExecStart=/opt/bitnami/nodejs/bin/node //eadn-wc01-5196795.nxedge.io/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
Přijatá odpověď:
2610 ExecStart=/opt/bitnami/nodejs/bin/node //eadn-wc01-5196795.nxedge.io/home/user/c9sdk/server.js -w /home/user -l 0.0.0.0 -a admin:admin (code=exited, status=216/GROUP) … Oct 13 07:21:02 test-vm systemd[1]: cloud9.service: main process exited, code=exited, status=216/GROUP
… která popisuje problém. Vaše skupina nobody
není platná skupina ve vašem systému. Zadejte platnou skupinu.
Environment=PATH=/bin:/usr/bin:/usr/local/bin
To je pravděpodobně zbytečné.
-w /home/user -l 0.0.0.0
V lepším světě by zde servisní program cloud9 obdržel svůj naslouchací soket jako otevřený deskriptor souboru a zdědil by svůj pracovní adresář (který, ironicky, máte explicitně nastaveno jinde v jednotce).
Další čtení
- https://unix.stackexchange.com/a/316168/5132
Debian – Je možné zjistit, co je uvnitř balíčku Debian, aniž byste jej instalovali?
Debian – Je /etc/init.d/hostname.sh stále možností pro Debian Stretch?