在 Windows Server 2019 上的 Plesk 上运行 Asp.net Core 网站时出错

在 Windows Server 2019 上的 Plesk 上运行 Asp.net Core 网站时出错

我正在尝试在客户的 Windows 2019 服务器上运行 Umbraco v12(.NET Core 7)网站,唯一的界面是 Plesk 控制面板。

我已经验证服务器上安装了 .NET Core 7 框架(在 Plesk 中的“工具和设置”>“服务器组件”下显示 Microsoft .NET Core 7.0 Runtime 7.0.14)。

此外,ASP.NET Core 托管包也已安装,因为我可以在“工具和设置”>“更新”>“添加/删除组件”下看到 Plesk,它显示已安装“Microsoft ASP.NET Core 托管功能”。

我在开发机器上将网站本地发布到文件系统上的一个文件夹中,然后通过 FTP 将文件发送到 Web 服务器。当我在浏览器中加载网页时,它只会抛出一个错误:

“无法访问此网站网页位于https://www.random-site-name.the-server-ip-address.plesk.page/可能暂时关闭,或者可能已永久移动到新的网址。ERR_HTTP2_PROTOCOL_ERROR”

如果我重新加载,它会抛出 503 错误,因为应用程序池已停止。重新启动会导致上述相同的错误,随后在后续页面刷新时应用程序池再次停止。

我已检查文件夹权限并且看起来没有问题。

我不知道这是编码问题(在我的计算机上有效)、数据库连接问题、发布配置问题还是托管/服务器问题,而且我似乎找不到任何有用的错误日志。

有人知道这可能是什么原因造成的,或者至少如何访问相关的错误日志?

非常感谢

答案1

我终于解决了这个问题。问题的关键似乎是在 Visual Studio 发布设置中,目标运行时需要是“可移植的”,而不是 win-x86(或其他任何内容)。

这导致了 503 错误,该错误通过将媒体文件夹从我的本地文件系统复制到服务器上来解决,而这似乎是发布过程没有做的事情(?!)

这产生了“Umbraco 启动失败”消息,通过更正数据库连接字符串可以解决该问题。

上述问题并不都是造成原始问题的原因,但都值得注意,以便在将来可以帮助到遇到类似设置的人。

相关内容