web-dev-qa-db-ja.com

起動時にCloud9サービスを開始する際の無効な引数

私はCloud9を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

サービスの簡単な起動スクリプトを作成するにはどうすればよいですか?

3
Peter Gerhat

あなたの最初の手がかりは、診断がsystemctl status cloud9.serviceの出力をチェックするように言ったということですが、それを実行したり、その出力を共有したりすることについては触れませんでした。

多分それはあなたが渡すバイナリがExecStart=へのパスが絶対でなければならないことをあなたに告げるでしょう。

6
Mark Stosberg

通常、ここでの「無効な引数」は、ユニット定義ファイル自体です。それをデバッグするには、次を使用できます。

Sudo systemd-analyze verify cloud9.service

またはユーザーのローカルサービスの場合:

Sudo systemd-analyze --user verify cloud9.service

1
teejay