
/home/ubuntu/TimberApi
Ubuntu LightSailインスタンス内のフォルダにコピーした.NET Coreアプリケーション(それ自体を含む)があります。サービスから始めようとしています。ユニットファイルが無効であると文句を言います。誰でもファイル内のエラーを見つけることができますか?
サービスファイルの内容は次のとおりです。
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
。それ以外の場合は、システムを再起動した後に変更が適用されます。