我正在尝试通过将 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
如何为服务创建一个简单的启动脚本?
答案1
您的第一个线索是诊断说要检查 的输出systemctl status cloud9.service
,但您没有提到这样做或共享该输出。
也许它会告诉您传递到的二进制文件的路径ExecStart=
必须是绝对的。
答案2
一般来说,这里的“无效参数”是单元定义文件本身。要调试它,您可以使用:
sudo systemd-analyze verify cloud9.service
或者如果是用户的本地服务:
sudo systemd-analyze --user verify cloud9.service