我收到以下错误:
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
答案 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
。