.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 中使用了两种不同的主机服务,但我仍然无法 运行 我的应用程序在主机上。
下面是我到目前为止所做的事情:
- 我使用独立的 winx64 模式发布并将 web.config 更新为
hostingModel="InProcess"
..仍然,我得到 500 - 内部错误。
- 我尝试通过 web.config
stdoutLogEnabled="true"
打开日志记录,但该目录中没有创建任何文件,我不明白为什么!
- 我根据一些建议将 modules="AspNetCoreModuleV2" 更改为 modules="AspNetCoreModule"(作为卑鄙的把戏),然后我收到 HTTP 错误 502.5 - 进程失败。
- 我尝试了web部署和文件夹部署两种方法,然后通过FileZilla传输到服务器。
据我所知,没有必要安装 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。
解决方法如下:
使用 self-contained 构建您的项目。
编辑 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>
将您的项目文件上传到 GoDaddy。
访问你的URL,你可以看到它是成功的运行 ASP.NET Core 3.1.
我在 Plesk Onyx 17.8.11 中使用了两种不同的主机服务,但我仍然无法 运行 我的应用程序在主机上。
下面是我到目前为止所做的事情:
- 我使用独立的 winx64 模式发布并将 web.config 更新为
hostingModel="InProcess"
..仍然,我得到 500 - 内部错误。 - 我尝试通过 web.config
stdoutLogEnabled="true"
打开日志记录,但该目录中没有创建任何文件,我不明白为什么! - 我根据一些建议将 modules="AspNetCoreModuleV2" 更改为 modules="AspNetCoreModule"(作为卑鄙的把戏),然后我收到 HTTP 错误 502.5 - 进程失败。
- 我尝试了web部署和文件夹部署两种方法,然后通过FileZilla传输到服务器。
据我所知,没有必要安装 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。
解决方法如下:
使用 self-contained 构建您的项目。
编辑 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>
将您的项目文件上传到 GoDaddy。
访问你的URL,你可以看到它是成功的运行 ASP.NET Core 3.1.