web-dev-qa-db-ja.com

サービス開始要求があまりにも速く繰り返され、開始を拒否しました

Debian 8.6でサービスを作成しましたが、serviceコマンドを使用してサービスを開始しようとすると、エラーが表示されます。

systemctl daemon-reloadを試しましたが、同じ結果が得られます。

$ 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.

設定は/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
14
Peter Gerhat
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) 
…
 Oct 13 07:21:02 test-vm systemd [1]:cloud9.service:main process exited、code = exited、status = 216/GROUP 

…問題を説明します。グループnobodyはシステムで有効なグループではありません。有効なグループを指定してください。

Environment = PATH =/bin:/ usr/bin:/ usr/local/bin

これはおそらく不要です。

-w/home/user -l 0.0.0.0

より良い世界では、ここのcloud9サービスプログラムは、リスニングソケットをオープンファイル記述子として受け取り、その作業ディレクトリを継承します(皮肉なことに、あなたが持っています )ユニットの他の場所に明示的に設定します)。

参考文献

6
JdeBP

Restartパラメータを削除して有効なユーザー/グループを追加すると、問題を解決するのに役立ちました。

[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
2
Peter Gerhat