Linux に .NET Core ワーカー サービスをデプロイする
2357 ワード
では、
本題について話す前に、
次の内容でその内容を編集します.
次に
次に、以下のように
この変更を適用した後、プロジェクトの新しいパブリッシュを取得し、それを
ASP.NET Core
アプリケーションを Linux
に展開して構成する方法を学びました.この投稿では、Worker Service
マシンに Linux
を展開する方法について学習します.ワーカーサービスとは?
本題について話す前に、
worker service
が何であるかを知らない人のために、 worker service
が何であるかを学びましょう.Worker Service
は、バックグラウンド サービスを作成するための .NET Core の組み込み機能です. Worker Service
を使用する 1 つの例は、毎朝クライアントに newsletter
メールを送信するなど、定期的なスケジュールを実行することです. worker service
の詳細については、この link を参照してください.Worker Service
を作成し、それを Linux マシンにデプロイしたいとします.まず、前回の記事で学んだように、新しいサービス ファイルを作成する必要があるため、次のコマンドを使用してサービス ファイルを作成します.sudo nano /etc/systemd/system/appbackground.service
次の内容でその内容を編集します.
[Unit]
Description=Your description
[Service]
Type=notify
WorkingDirectory=/home/centos/Desktop/services/
ExecStart=/usr/bin/dotnet /home/centos/Desktop/services/myapp.WorkerServic$
Environment=ASPNETCORE_ENVIRONMENT=Production
[Install]
WantedBy=multi-user.target
次に
ctrl+x
を押して内容を保存し、次のコマンドを実行します.sudo systemctl daemon-reload
sudo systemctl start appbackground.service
sudo systemctl start appbackground.service
の実行後にエラーが発生した場合は、worker service
プロジェクトに小さな変更を加える必要があります.Microsoft.Extensions.Hosting.Systemd
で nuget
をインストールします.dotnet add package Microsoft.Extensions.Hosting.Systemd
次に、以下のように
CreateHostBuilder
を program.cs
に変更します. public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.UseSystemd() // this method must be added
.ConfigureServices((hostContext, services) =>
{
services.AddHostedService<appWorker>();
});
}
この変更を適用した後、プロジェクトの新しいパブリッシュを取得し、それを
Linux
のパスに配置してから、そのサービスを開始します.Reference
この問題について(Linux に .NET Core ワーカー サービスをデプロイする), 我々は、より多くの情報をここで見つけました https://dev.to/uthmanrahimi/deploy-net-core-worker-service-on-linux-1mjcテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol