Ubuntu 16.04 上的 Systemd 没有给出这样的接口错误

Ubuntu 16.04 上的 Systemd 没有给出这样的接口错误

我现在正尝试在 Ubuntu 16.04 中部署我的 Phoenix(Elixir) 应用程序。为了持久性,我在 /lib/systemd/system 中使用了这个文件 (app.service)。

[Unit]
Description=Runner for My Phoenix App

[Service]
WorkingDirectory=/app
Environment=MIX_ENV=prod PORT=4000
ExecStart=/app/bin/app start
ExecStop=/app/bin/app stop
User=mohideen
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target

我的用户名是mohideen,并且该帐户具有 sudo 权限。当我尝试使用命令时sudo systemctl start app.service,命令失败并显示以下错误:

Failed to start app.service: Unknown unit: app.service
See system logs and 'systemctl status app.service' for details.

当我输入时sudo systemctl status app.service,我收到以下消息:

Failed to get properties: No such interface ''

当我手动启动应用程序时,它运行正常。为什么我会收到此错误?如何确保我的应用程序在重新启动和崩溃时重新启动?

答案1

我的问题有两个原因。

首先,我的.service文件位置错误。应该是/etc而不是/lib

其次,upstart我之前安装了。这会阻止.service文件运行(我不知道为什么)。一旦我卸载upstart并重新安装systemd,问题就解决了!

相关内容