c# - Asp.Net Core - 错误无法使用主管在已发布的(Ubuntu 14.04)Web 应用程序上执行二进制文件

标签 c# .net ubuntu nginx asp.net-core

我不确定这是否是正确的提问地方,但这里是:我创建了一个 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/

相关文章:

c# - 如何排序 List<T> 其中 T 是我自己的类,我想按 class.someString 排序

ruby-on-rails - PASSENGER/RVM 权限被拒绝 (13)

c# - 在 C# 中使用反射列出枚举中的值

c# - 创建要在动态对象上运行的方法列表

c# - C# .NET 中通过 HTTP 发布的 SOAP 对象

.net - 用功能语言表示有状态的事物

ubuntu - 错误 : 404 Page Not Found in Terminal on Ubuntu 15. 10

linux - 另一个 Bash 权限被拒绝的帖子

c# - ASP.NET Core Api-Gateway 中间件

c# - DateTime TryParseExact 和填充