服务文件中的错误是什么?

服务文件中的错误是什么?

/home/ubuntu/TimberApi我有一个 .NET Core 应用程序(自包含),我已将其复制到Ubuntu LightSail 实例中的文件夹中。我正在尝试将其作为服务启动。它抱怨单位文件无效。任何人都可以发现文件中的错误吗?

这是服务文件的内容:

Description=Timber Store Api

[Service]
WorkingDirectory=/home/ubuntu/TimberApi
ExecStart=/home/ubuntu/TimberApi/TimberStore.Api
Restart=always
RestartSec=10
SyslogIdentifier=offershare-web-app
Environment=ASPNETCORE_ENVIRONMENT=Production

[Install]
WantedBy=multi-user.target

这是错误:

Failed to start TimberStoreApi.service: Unit TimberStoreApi.service has a bad unit file setting.
See system logs and 'systemctl status TimberStoreApi.service' for details.

我跑过去systemctl status TimberStoreApi.service得到了这个:

/etc/systemd/system/TimberStoreApi.service:5: WorkingDirectory= path is not absolute: ~/TimberApi

答案1

从错误消息来看,它看起来像Working Directory一行以前是 WorkingDirectory=~/TimberApi但已被编辑为当前形式WorkingDirectory=/home/ubuntu/TimberApi而未运行systemctl daemon-reload,因此systemd仍在使用旧版本。

所以只要跑步systemctl daemon-reload就可以解决这个问题。

如果您使用该命令,它会在需要时systemctl edit <some.service>自动为您执行。systemctl daemon-reload但如果您直接编辑服务文件,则必须运行systemctl daemon-reload,否则更改将在重新启动系统后生效。

相关内容