如何将 blazor 客户端/服务器应用程序发布到 linux Web 服务器?无权访问 ssh 并且 dotnet publish 不提供 index.html
Posted
技术标签:
【中文标题】如何将 blazor 客户端/服务器应用程序发布到 linux Web 服务器?无权访问 ssh 并且 dotnet publish 不提供 index.html【英文标题】:How can I publish a blazor client/server app to a linux web server? Don't have access to ssh and dotnet publish doesn't give an index.html 【发布时间】:2020-12-19 23:59:16 【问题描述】:我已经构建了一个目前没有问题的 blazor 应用程序。当我调用“dotnet publish -c Release”时,我得到了一个已发布的项目,除了输出是一个可执行文件,ubuntu 将其作为八位字节流或类似的东西拾取。如果我运行它,它只会在 localhost:5000 上打开服务器。通过 cpanel 将它复制到我的 Web 服务器没有任何作用——甚至尝试测试一个通用的 blazor Wasm 应用程序并发布它给了我一个 index.html,但是当我将它上传到我的 Web 服务器时它实际上永远不会加载任何东西。如何让 dotnet 使用 index.html 文件发布它?我得到的只是 js 和 css 文件夹以及外部“wwwroot”文件夹中的可执行文件。
(P.S. 我正在使用带有共享主机的 webhostingpad.com,所以我无权访问 ssh 来执行诸如安装 nginx 或通过 IIS 或 Azure 的并行路由之类的事情)
【问题讨论】:
我厌倦了在 Windows 10 PC 上使用本地 WAMP 使其工作但失败了。因此,虽然微软声称它会工作,但他们没有提供关于如何使其工作的明确说明。这意味着它不会被非 Azure 社区采用,因此将来会被我的微软抛弃!我的建议是坚持使用 javascript。 【参考方案1】:Blazor WebAssembly:
https://docs.microsoft.com/en-us/aspnet/core/blazor/host-and-deploy/webassembly?view=aspnetcore-3.1#standalone-deployment
向下滚动到“Apache”Blazor 服务器:
https://docs.microsoft.com/en-us/aspnet/core/blazor/host-and-deploy/server?view=aspnetcore-3.1#linux-with-apache
【讨论】:
以上是关于如何将 blazor 客户端/服务器应用程序发布到 linux Web 服务器?无权访问 ssh 并且 dotnet publish 不提供 index.html的主要内容,如果未能解决你的问题,请参考以下文章
如何将 Blazor 中的所有注册服务添加到 Simple Injector?
C#:如何在 Blazor Wasm 托管中将动态 Razor 组件从服务器发送到客户端?