将使用"混合"Web 助手创建的应用部署到 IIS
环境
- Visual Studio
-
- Visual Studio 2019
- .NET
-
- .NET 5.0
- Internet Information Service (IIS)
-
- IIS 10
- 其他
- 配置目的地 Windows Server
-
- Windows Server 2019
- 其他
入门
由于 Blazor WebAssembly 应用程序是客户端技术,因此可以部署到非 IIS Web 服务器,但这次我们将讨论将项目直接发布到 IIS 的过程。 基本上,它与发布 ASP.NET 核心项目的过程大致相同,因此我将重点介绍不同之处。
Windows Server 设置
您已安装 Windows 服务器。
版本有点旧没有问题。
IIS 设置
详细信息将在以下页面上描述,因此将跳过详细信息。
从"开始"菜单启动服务器管理器。
从"管理"菜单中选择"添加角色和功能"。
单击"下一步"。
单击"下一步"。
单击"下一步"。
选择 Web 服务器 (IIS)。
将显示以下屏幕,然后单击"添加功能"按钮。
单击"下一步",因为没有要添加的内容。
单击"下一步"。
添加管理服务。 直接从视觉工作室发布是必需的。
将显示以下屏幕,然后单击"添加功能"按钮。
单击"安装"。
启动 IIS 管理器并验证它是否包含"管理服务"。
安装 Web 部署
需要从视觉工作室接收发布程序。
转到以下链接:
下载。
Windows 服务器仅下载基本 64 位版本。
在 Windows 服务器上运行。
单击"下一步"。
选中"我接受许可协议",然后单击"下一步"。
单击"完整"。
单击"安装"按钮。
安装完成后,单击"完成"按钮。
打开 IIS 管理器时,将添加"委派管理服务"。
设置应用程序池
由于这是用于操作确认目的,因此这次不会特别更改设置。 如果要设置它,请参阅以下页面。
创建网站
出于行为验证目的,我们从一开始就使用默认网站。 如果要单独创建它,请参阅以下页面。
部署用户相关设置
由于这是用于操作验证目的,因此这次不会创建它,而是将其放在 Windows 帐户中。 如果要设置它,请参阅以下页面。
安装 URL 重写
默认情况下,Blazor WebAssembly 站点在内部进行重定向,因此请安装 URL 重写。 由于下载文件,如果 Windows 服务器由于安全问题而无法下载该文件,请先在其他电脑上下载该文件。
在 Web 浏览器中访问以下网站:
单击"安装此扩展"。 (我写安装,但它实际上是下载)
在服务器上运行下载的 url 重写 2.exe。
安装 Web PI 以启动它。
选择"我同意"。
Web PI 结束。
从视觉工作室部署程序
返回到工作电脑并启动视觉工作室以打开"混合 Web 助理"项目。 这一次,我们将发布一个程序,该程序处于创建新项目的状态。
右键单击项目并选择"发布"。
选择 Web 服务器 (IIS),然后单击"下一步"。
选择"Web 部署"。
输入以下内容:
参数名称 | 值 |
---|---|
服务器 | 设置 IIS 的服务器的 IP 地址或 DNS 名称或域名。 您可以在互联网上或内联网上指定。 |
站点名称 | 指定要添加到 IIS 的站点的名称。 |
目标 URL | 空白没有问题。 |
用户名 | 指定在 IIS 中创建的 Windows 服务器用户帐户或用户名。 |
密码 | 输入上述用户的身份验证密码。 |
保存密码 | 如果每次发布时输入密码都比较麻烦,请保存密码。 |
如图所示。
如果创建了多个发布配置文件,则可以在上面的下拉列表中进行更改,但如果名称令人困惑,则可以更改它们。
您可以在编辑屏幕上更改精细设置。
从左侧选项卡中选择"设置"。 您无需进行任何特殊更改,但请根据需要更改"配置"、"目标运行时"和"文件发布选项"。
从左侧选项卡中选择"连接"。 您将看到您键入的第一个内容,但请单击下面的"验证连接"按钮。
成功连接到发布目标后,将显示以下对话框: 选中"为 Visual Studio 的未来会话保存此证书",然后单击"我同意"按钮。 如果保存,则仅显示此对话框。
如果连接验证右侧出现复选标记,则表示连接成功。
顺便说一下,如果失败,请单击链接以查看原因,并根据原因采取行动。
最常见的原因是
- 用户名和密码不正确。
- IIS 端不允许用户。 调查方法是在 Windows 管理员中部署它。
- 防火墙不允许"TCP 8172"。 云(如 Azure)不允许在云端。
- 您尚未"完整"安装 Web 部署工具。
- IIS 设置不足。 请仔细检查此提示。
完成后,从解决方案资源管理器→解决方案→项目→发布配置文件 并设置发布名称的"。 pubxml",所以打开。
Project
将 PropertyGroup
以下代码添加到>标记中并保存:
<AllowUntrustedCertificate>True</AllowUntrustedCertificate>
完成后,使用"发布"按钮发布它。
如果发布成功,则已完成。 偶尔可能会失败,因此请再次发布或验证连接。
如果您能够在 Web 浏览器中访问它,并查看 Blazor 程序是否正常工作,则已完成。
顺便说一下,在 PWA 中安装时,请注意,如果没有 HTTPS 通信,则无法执行此操作。
关于在 Windows 服务器上安装 .NET 运行时
由于 Blazor WebAssembly 是客户端技术,因此无需在服务器端安装它。
对于另一种机制,模糊服务器,这是需要的。