Ubuntu環境でのASP.NET Core Web APIの自動起動(デーモン化)

ASP.NET Core
この記事は約3分で読めます。
スポンサーリンク

Ubuntu環境でASP.NET Core Web APIをデーモンとして実行します。
デーモンとして実行することで、OS起動時に自動起動されるようになります。

スポンサーリンク

サービスファイルの作成

デーモンの実行に必要となるサービスファイルを作成します。

sudo nano /etc/systemd/system/kestrel-helloapp.service

以下がサービスファイルの例となります。
特に、WorkingDirectoryとExecStart、Userに関しては、自分の環境に合わせて、変更する必要があります。

dotnetのインストール場所は、"which dotnet"とコマンドを打てば確認できます。

[Unit]
Description=Example .NET Web API App

[Service]
WorkingDirectory=/var/www/helloapp # ★変更
ExecStart=/root/.dotnet/dotnet /var/www/helloapp/helloapp.dll # ★変更
Restart=always
# Restart service after 10 seconds if the dotnet service crashes:
RestartSec=10
KillSignal=SIGINT
SyslogIdentifier=dotnet-example
User=root # ★変更
Environment=ASPNETCORE_ENVIRONMENT=Production 

[Install]
WantedBy=multi-user.target
スポンサーリンク

サービスの実行

サービスを有効化し、実行します。最後にステータスを確認します

sudo systemctl enable kestrel-helloapp.service
sudo systemctl start kestrel-helloapp.service
sudo systemctl status kestrel-helloapp.service
スポンサーリンク

まとめ

OSを再起動しても、ASP.NET Core Web APIが自動実行されるように、デーモン化する方法をまとめました。

コメント

タイトルとURLをコピーしました