.NET Core 3.1 无法在独立的 Plesk 上托管,出现错误:500 - 内部服务器错误和 HTTP 错误 502.5 - 进程失败

.NET Core 3.1 cannot host on Plesk self-contained, getting errors: 500 - Internal server error & HTTP Error 502.5 - Process Failure

我在 Plesk Onyx 17.8.11 中使用了两种不同的主机服务,但我仍然无法 运行 我的应用程序在主机上。

下面是我到目前为止所做的事情:

据我所知,没有必要安装 Microsoft .NET 包,因为我使用的是自包含方法。

我想更新一下。我浏览了多个网站,包括 GoDaddy. Their shared hosting Plesk Onyx 17.8.11 supports up to ASP.NET 2.0 version and if you want to get a higher version you need to use their VPS 或花费一大笔钱的专用服务器计划...

Does GoDaddy's shared Windows hosting plan support ASP.NET Core?

此帮助文档解释了 Plesk 的 ASP.NET 核心支持。 ASP.NET Core support in Plesk。如果您希望在 3.1 中托管任何内容,您需要一个替代解决方案。

但是,还有其他地方可以以合理的价格托管 ASP.NET Core 3.1 应用程序。例如,AspHostPortal 似乎有很多优惠,并且是微软推荐的。 Comparison of All Windows Shared Hosting Plans

您也可以使用 Azure,但如果您需要 SSL,那可能会很昂贵。

如果您仍在寻找替代解决方案,这里有一些可能有用的资源。

类似的 Reddit 问题:Hosting ASP.NET 3.1 on GoDaddy

具有多个选项的教程: Best fast & cheap Windows shared hosting For ASP.NET Core

我在 GoDaddy Windows 虚拟主机上找到了这个问题的 non-official 解决方案和 运行 ASP.NET Core 3.1。

解决方法如下:

  1. 使用 self-contained 构建您的项目。

  2. 编辑 web.config,您只需将 WebApplication1.dll 更改为本示例中的 DLL 文件名。

    <?xml version="1.0" encoding="utf-8"?>
    <configuration>
      <location path="." inheritInChildApplications="false">
        <system.webServer>
          <handlers>
            <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />
          </handlers>
          <aspNetCore processPath="dotnet" arguments=".\WebApplication1.dll" stdoutLogEnabled="true" stdoutLogFile=".\logs\stdout" hostingModel="inprocess" />
        </system.webServer>
      </location>
    </configuration>
    
  3. 将您的项目文件上传到 GoDaddy。

  4. 访问你的URL,你可以看到它是成功的运行 ASP.NET Core 3.1.

参考:[ASP.NET Core] Godaddy .NET Core 3.1?