Linux 1604:kestrel服务无法找到dotnet安装

时间:2017-06-03 06:54:37

标签: linux .net-core kestrel

我收到以下错误:

Jun 03 06:41:04 {my_digital_ocean_server} systemd[13752]: kestrel-hellomvc.service: Failed at step CHDIR spawning /usr/bin/dotnet: No such file or directory
-- Subject: Process /usr/bin/dotnet could not be executed
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- The process /usr/bin/dotnet could not be executed and failed.

运行时:

systemctl start kestrel-hellomvc.service

遵循本指南: https://docs.microsoft.com/en-us/aspnet/core/publishing/linuxproduction

正在运行:nano /usr/bin/dotnet为我提供一个包含内容的大文件,并返回which dotnet / usr / bin / dotnet,所以文件确实存在(?)。

为什么我会收到此错误,解决方案是什么?

编辑: 我的/etc/systemd/system/kestrel-hellomvc.service文件:

[Unit]
Description=Example .NET Web API Application running on Ubuntu

[Service]
WorkingDirectory=/var/aspnetcore/hellomvc
ExecStart=/usr/bin/dotnet /var/aspnetcore/hellomvc/hellomvc.dll
Restart=always
RestartSec=10  # Restart service after 10 seconds if dotnet service crashes
SyslogIdentifier=dotnet-example
User=root
Environment=ASPNETCORE_ENVIRONMENT=Production 

[Install]
WantedBy=multi-user.target

2 个答案:

答案 0 :(得分:1)

Dotnet可能不在usr / bin中。在Ubuntu Server 16.04上,我的位于/ usr / share / dotnet,服务文件中的可执行行是/ usr / share / dotnet / dotnet。

答案 1 :(得分:0)

which dotnet

找到您的应用服务文件/etc/systemd/system/kestrel-MyAppName.service属性的正确路径

ExecStart=/bin/dotnet /var/www/dev-slc1.almw.local/public_html/MyAppName.dll

例如,在CentOS7上,which dotnet的结果为:/bin/dotnet