
Debian で Cloud9 をサービスに設定して自動化しようとしています。このエラーにより中断されます。
$ sudo service cloud9 start
Failed to start cloud9.service: Unit cloud9.service failed to load: Invalid argument. See system logs and 'systemctl status cloud9.service' for details.
systemctl status cloud9.service
出力:
$ systemctl status cloud9.service
● cloud9.service - cloud9
Loaded: error (Reason: Invalid argument)
Active: inactive (dead)
/etc/systemd/system/cloud9.service
おそらく、作成した構成エラーが原因である可能性があります。
[Unit]
Description=cloud9
[Service]
ExecStart=node server.js -w /home/user -l 0.0.0.0 -a admin:admin
Restart=always
User=nobody
Group=nobody
Environment=PATH=/usr/bin:/usr/local/bin
Environment=NODE_ENV=production
WorkingDirectory=/home/user/c9sdk
[Install]
WantedBy=multi-user.target
サービスの簡単な起動スクリプトをどのように作成できますか?
答え1
最初の手がかりは、診断プログラムが出力を確認するように求められますが、systemctl status cloud9.service
確認を実行するか、その出力を共有するという言及がないことです。
ExecStart=
おそらく、渡されたバイナリへのパスが絶対パスでなければならないことを伝えることができます。
答え2
通常、ここで「無効なパラメータ」は単位定義ファイル自体です。デバッグするには、次のものを使用できます。
sudo systemd-analyze verify cloud9.service
またはユーザーのローカルサービスの場合:
sudo systemd-analyze --user verify cloud9.service