尝试在 Ubuntu 16.04 下运行 asp .netcore 应用程序时出现核心转储错误

BąQ*_*BąQ 5 ubuntu coredump .net-core asp.net-core systemctl

我正在尝试在 Ubuntu 16.04 下将我的 asp .net 核心应用程序作为服务运行。我已经按照文档创建了服务配置

[Unit]
Description=TNW Main Service

[Service]
WorkingDirectory=/home/tnw
ExecStart=/usr/bin/dotnet /home/tnw/Tnw.MealsApi.dll
Restart=always
RestartSec=10
SyslogIdentifier=tnw
User=www-data
Environment=ASPNETCORE_ENVIRONMENT=Production

[Install]
WantedBy=multi-user.target
Run Code Online (Sandbox Code Playgroud)

我已启用我的服务:

sudo systemctl enable tnw.service
Run Code Online (Sandbox Code Playgroud)

最后我尝试运行它,但我获得了异常:

? tnw.service - TNW Main Service Loaded: loaded (/etc/systemd/system/tnw.service; enabled; vendor preset: enabled)
Active: activating (auto-restart) (Result: core-dump) since Tue 2019-09-10 12:57:20 CEST; 118ms ago
Process: 15160 ExecStart=/usr/bin/dotnet /home/tnw/Tnw.MealsApi.dll (code=dumped, signal=ABRT)
Main PID: 15160 (code=dumped, signal=ABRT)

Sep 10 12:57:20 server767126 systemd[1]: tnw.service: Unit entered failed state.
Sep 10 12:57:20 server767126 systemd[1]: tnw.service: Failed with result 'core-dump'.
Run Code Online (Sandbox Code Playgroud)

当我手动运行此应用程序时,它工作正常。

sudo dotnet Tnw.MealsApi.dll
Run Code Online (Sandbox Code Playgroud)

//编辑我在日志中发现以下异常:

 System.Net.Sockets.SocketException (13): Permission denied
Run Code Online (Sandbox Code Playgroud)

Arv*_*iya 1

根据此使用Downloads文件夹来保存您的dll. 以下配置.service文件

[Unit]
Description=MyService in .NET
# Requires=xyz.service
# After=xyz.service

[Service]
Type=simple
ExecStart=/usr/bin/dotnet  /home/linux/Downloads/MyService.dll

[Install]
WantedBy=multi-user.target
Run Code Online (Sandbox Code Playgroud)

根据您的情况,此路径/home/linux/Downloads/MyService.dll可能有所不同。

然后运行

sudo systemctl daemon-reload
Run Code Online (Sandbox Code Playgroud)