我不确定这是否是正确的提问地方,但这里是:我创建了一个 ASP.NET Core Web 应用程序,并复制了我的 Ubuntu 14.04 服务器上的所有文件。我可以毫无问题地编译和运行,但现在我希望这个应用程序/网站永久运行。
我按照这里描述的所有步骤 https://docs.asp.net/en/latest/publishing/linuxproduction.html ,安装了 nginx 作为反向代理与 apache 一起运行,所有这些都运行得很好。
但是,尝试使用主管并从中启动应用程序,我系统地收到错误 /usr/bin/dotnet cannot execute binary file
.但是,如果我移动到发布应用程序的目录中,并手动键入 dotnet appname.dll
它确实开始时没有故障。
我不确定在哪里可以找到与主管合作的方法。感谢您的帮助(如果这个问题应该在其他地方,请告诉我)
最佳答案
我终于解决了我的问题,替换了 command=bash /usr/bin/dotnet /var/aspnetcore/HelloMVC/HelloMVC.dll
行的等效项如 https://docs.asp.net/en/latest/publishing/linuxproduction.html 中所述在“ 配置主管 ”下通过一个小脚本,远非完美,因为我得到了 Warning: HOME environment variable not set.
无论如何,这是脚本:
#!/bin/bash
cd /var/aspnetcore/foesuivi/
dotnet FoESuivi.dll
cd $HOME
作为一名 Windows 程序员,我对 bash 脚本了解不多,但我当然可以看到我需要在 cd 命令之前为 $HOME 赋予一个值。
无论如何,在对 sh 文件执行 chmod +x 并将 command= 替换为 sh 文件的全名之后,它现在可以工作了,我可以重新启动并且我的站点立即可用。
关于c# - Asp.Net Core - 错误无法使用主管在已发布的(Ubuntu 14.04)Web 应用程序上执行二进制文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38333162/