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