У меня есть linux сервер Ubuntu 16.04, используемый для размещения множества. NET Базовых сайтов и приложений (это промежуточный сервер), с кучей приложений, использующих. NET Core 2.0 и 2.1. Сервер использует nginx с прокси-сервером для предоставления контента через Интернет.
Я только что развернул ASP. NET Core 3.0 MVC веб-сайт, установив ASP. NET Среда выполнения Core 3.0 согласно инструкциям здесь: https://docs.microsoft.com/en-us/dotnet/core/install/linux-package-manager-ubuntu-1604.
Если я запускаю dotnet MyApp.dll
непосредственно из командной строки, он загружается и работает нормально, работает на порту 5000 и все работает мило. Однако, если я пытаюсь запустить приложение с помощью службы systemd, оно не работает, с ошибками в journalctl
, например:
Feb 11 13:57:18 ip-172-31-2-223 systemd[1]: Started IBA Showcase Test API.
Feb 11 13:57:18 ip-172-31-2-223 dotnet[19193]: It was not possible to find any compatible framework version
Feb 11 13:57:18 ip-172-31-2-223 dotnet[19193]: The specified framework 'Microsoft.AspNetCore.App', version '3.0.0' was not found.
Feb 11 13:57:18 ip-172-31-2-223 dotnet[19193]: - Check application dependencies and target a framework version installed at:
Feb 11 13:57:18 ip-172-31-2-223 dotnet[19193]: /usr/share/dotnet/
Feb 11 13:57:18 ip-172-31-2-223 dotnet[19193]: - Installing .NET Core prerequisites might help resolve this problem:
Feb 11 13:57:18 ip-172-31-2-223 dotnet[19193]: https://go.microsoft.com/fwlink/?LinkID=798306&clcid=0x409
Feb 11 13:57:18 ip-172-31-2-223 dotnet[19193]: - The .NET Core framework and SDK can be installed from:
Feb 11 13:57:18 ip-172-31-2-223 dotnet[19193]: https://aka.ms/dotnet-download
Feb 11 13:57:18 ip-172-31-2-223 dotnet[19193]: - The following versions are installed:
Feb 11 13:57:18 ip-172-31-2-223 dotnet[19193]: 2.1.13 at [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
Feb 11 13:57:18 ip-172-31-2-223 dotnet[19193]: 2.2.7 at [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
Мой файл .service в папке /etc/systemd/system
довольно просто и выглядит так:
[Unit]
Description=IBA Showcase Test API
Wants=network.target
[Service]
Type=simple
User=www-data
Group=www-data
Environment="DOTNET_CLI_TELEMETRY_OPTOUT=1"
Environment="ASPNETCORE_ENVIRONMENT=Staging"
Environment="ASPNETCORE_URLS=http://*:5000"
WorkingDirectory=/var/www/ibashowcase/api/
ExecStart=/usr/bin/dotnet IBA.Showcase.API.dll
Restart=on-failure
[Install]
WantedBy=multi-user.target
Любые советы будут оценены.