Как я могу создать службу для приложения dotnet

#c# #linux #asp.net-core #service

Вопрос:

Мне нужна помощь в создании службы для приложения aspnetcore в Linux. Я разработал и создал приложение, которое запускается при запуске с ./Application. Но если я создам службу, она выйдет из строя.

Статус приводит к:

 ● alphabot.service - AlphaBot Service
     Loaded: loaded (/etc/systemd/system/alphabot.service; enabled; vendor preset: enabled)
     Active: failed (Result: core-dump) since Tue 2021-06-29 18:03:32 UTC; 1s ago
    Process: 5014 ExecStart=/home/alphabot/AlphaBot (code=dumped, signal=ABRT)
   Main PID: 5014 (code=dumped, signal=ABRT)

Jun 29 18:03:31 rootserver AlphaBot[5014]:    at Microsoft.AspNetCore.Hosting.ConfigureServicesBuilder.<>c__DisplayClass9_0.<Invoke>g__Startup|0(IServiceCollection serviceCollection)
Jun 29 18:03:31 rootserver AlphaBot[5014]:    at Microsoft.AspNetCore.Hosting.ConfigureServicesBuilder.Invoke(Object instance, IServiceCollection services)
Jun 29 18:03:31 rootserver AlphaBot[5014]:    at Microsoft.AspNetCore.Hosting.ConfigureServicesBuilder.<>c__DisplayClass8_0.<Build>b__0(IServiceCollection services)
Jun 29 18:03:31 rootserver AlphaBot[5014]:    at Microsoft.AspNetCore.Hosting.GenericWebHostBuilder.UseStartup(Type startupType, HostBuilderContext context, IServiceCollection services)
Jun 29 18:03:31 rootserver AlphaBot[5014]:    at Microsoft.AspNetCore.Hosting.GenericWebHostBuilder.<>c__DisplayClass12_0.<UseStartup>b__0(HostBuilderContext context, IServiceCollection services)
Jun 29 18:03:31 rootserver AlphaBot[5014]:    at Microsoft.Extensions.Hosting.HostBuilder.CreateServiceProvider()
Jun 29 18:03:31 rootserver AlphaBot[5014]:    at Microsoft.Extensions.Hosting.HostBuilder.Build()
Jun 29 18:03:31 rootserver AlphaBot[5014]:    at AlphaBot.Program.Main(String[] args) in /root/TeamCity/buildAgent/work/f2d58114a4881b14/AlphaBot/Program.cs:line 10
Jun 29 18:03:32 rootserver systemd[1]: alphabot.service: Main process exited, code=dumped, status=6/ABRT
Jun 29 18:03:32 rootserver systemd[1]: alphabot.service: Failed with result 'core-dump'.
 

алфавит.Обслуживание:

 [Unit]
Description=AlphaBot Service

[Service]
Type=simple
ExecStart=/home/alphabot/AlphaBot

[Install]
WantedBy=multi-user.target
 

Ответ №1:

 [Unit]
Description=AlphaBot Service

[Service]
Type=simple
ExecStart=/usr/bin/dotnet /home/alphabot/AlphaBot.dll

[Install]
WantedBy=multi-user.target

 

результаты в

 ● alphabot.service - AlphaBot Service
     Loaded: loaded (/etc/systemd/system/alphabot.service; enabled; vendor preset: enabled)
     Active: failed (Result: core-dump) since Tue 2021-06-29 18:15:28 UTC; 872ms ago
    Process: 5257 ExecStart=/usr/bin/dotnet /home/alphabot/AlphaBot.dll (code=dumped, signal=ABRT)
   Main PID: 5257 (code=dumped, signal=ABRT)

Jun 29 18:15:27 rootserver dotnet[5257]:    at Microsoft.AspNetCore.Hosting.ConfigureServicesBuilder.<>c__DisplayClass9_0.<Invoke>g__Startup|0(IServiceCollection serviceCollection)
Jun 29 18:15:27 rootserver dotnet[5257]:    at Microsoft.AspNetCore.Hosting.ConfigureServicesBuilder.Invoke(Object instance, IServiceCollection services)
Jun 29 18:15:27 rootserver dotnet[5257]:    at Microsoft.AspNetCore.Hosting.ConfigureServicesBuilder.<>c__DisplayClass8_0.<Build>b__0(IServiceCollection services)
Jun 29 18:15:27 rootserver dotnet[5257]:    at Microsoft.AspNetCore.Hosting.GenericWebHostBuilder.UseStartup(Type startupType, HostBuilderContext context, IServiceCollection services)
Jun 29 18:15:27 rootserver dotnet[5257]:    at Microsoft.AspNetCore.Hosting.GenericWebHostBuilder.<>c__DisplayClass12_0.<UseStartup>b__0(HostBuilderContext context, IServiceCollection services)
Jun 29 18:15:27 rootserver dotnet[5257]:    at Microsoft.Extensions.Hosting.HostBuilder.CreateServiceProvider()
Jun 29 18:15:27 rootserver dotnet[5257]:    at Microsoft.Extensions.Hosting.HostBuilder.Build()
Jun 29 18:15:27 rootserver dotnet[5257]:    at AlphaBot.Program.Main(String[] args) in /root/TeamCity/buildAgent/work/f2d58114a4881b14/AlphaBot/Program.cs:line 10
Jun 29 18:15:28 rootserver systemd[1]: alphabot.service: Main process exited, code=dumped, status=6/ABRT
Jun 29 18:15:28 rootserver systemd[1]: alphabot.service: Failed with result 'core-dump'.
 

Ответ №2:

Служба работает нормально, но ваше приложение само выдает ошибку.

Запустите journalctl -u alphabot -f , перезапустите службу и понаблюдайте за терминалом. Это может быть занятый порт, конфигурационный файл…

Комментарии:

1. Обновлен ответ