原文:[ASP.Net Core] 如何让 Godaddy 跑 .NET Core 3.1 ?
最近心血来潮逛看看最近有哪些 web hosting 的时候发现 Godaddy 竟然支援 .Net Core 了 !!
于是乎抱着满心期待的拿了魔法小卡刷了一个月来试玩看看,刷完才发现竟然只支援 .Net Core 2.0 ...
身为一个踩雷大师怎么能遇到点小挫折就放弃呢 ??
于是乎马上想到了 .Net Core 不是支援 self-contained 吗 ??
这样不就可以在未安装 .Net Core 3.1 的情况下跑了吗 !!!
正当我以为可以顺利地跑起来时马上收到了个 500 个巴掌...
查了查相关资料原因是 AspNetCoreModuleV2 是在 .Net Core 2.2 以后才有的东西,Godaddy 上面只有 2.0 根本不认识他呀 !!
知晓原因后我照着网上的教学把 web.config 里面的 AspNetCoreModuleV2 置换成 AspNetCoreModule
正当我觉得这次一定行并重整页面后迎接的我是 502.5 个拳头...
嗯好... 果然没有这么轻鬆可以让我跑起来...
又经过了数小时的资料翻阅后终于翻到一篇 ASP.NET Core Hosting – 3 Simple Steps to Fix 502.5 Error in ASP.NET Core
上面有提到可以置换 web.config 中的 processPath 并在 arguments 指定 dll 运行
原本的 web.config
<?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=".\WebApplication1.exe" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="inprocess" /> </system.webServer> </location></configuration><!--ProjectGuid: 3047a62f-999e-46e5-b66f-70da7471bf2b-->
经过置换后变成:
<?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><!--ProjectGuid: 3047a62f-999e-46e5-b66f-70da7471bf2b-->
终于跑起来拉
看来以后有便宜的 Web Hosting 可以开发/测试了,
如果有流量小的网站直接在上面运行我想也是没有问题的,
今天的经验分享就到这拉 ~
希望有帮到大家