Skip to main content

使用Azure虚拟机创建一个功能完备的网站 - 安装Web服务

分类:  Windows Server 标签:  #Azure #基础 #Web #.Net Host #Windows 发布于: 2023-06-15 16:06:45

上一篇教程我们有使用Azure Powershell来创建一个Windows Datacenter 2019的虚拟机,如果有遇到如下的错误:

WARNING: Since the VM is created using premium storage or managed disk, existing standard storage account, dbstoragezwxlvqqlwwnnc, is used for boot diagnostics.
VERBOSE: Performing the operation "New" on target "my-testing-vm".
New-AzVM: Long running operation failed with status 'Failed'. Additional Info:'Boot diagnostics uses dbstoragezwxlvqqlwwnnc which is a Blob storage account. Please retry with General purpose storage account.'
ErrorCode: StorageAccountTypeNotSupported
ErrorMessage: Boot diagnostics uses dbstoragezwxlvqqlwwnnc which is a Blob storage account. Please retry with General purpose storage account.
ErrorTarget:
StartTime: 2022/4/14 21:44:59
EndTime: 2022/4/14 21:45:00
OperationID: d6d187a7-e520-49e4-92ae-8e8fb8efb930
Status: Failed

那么可能是你运气正好,Azure虚拟机默认是开启启动诊断的,启动了之后它需要一个Azure Storage存储诊断日志,运气不好的话,正好自动生成了一个和你订阅下的某个存储账号重名了,这就很尴尬了,如果不想麻烦的话,可以直接关闭启动诊断完事了,当然如果对启动诊断很看重您还是需要先创建一个storage, 然后使用指令Set-AzVMBootDiagnostic 设置这个账号,具体怎么用,您可以看一下文档,我们先关闭它:

Set-AzVMBootDiagnostic -VM $MyVMConfig -Disable

然后继续运行之前的New-AzVM创建您的虚拟机。

之前创建虚拟机的文章,您可以参考网址:https://www.azuredeveloper.cn/article/build-web-by-azure-vm-create-azure-resource

本章我们来配置我们创建好的虚拟机,用于自己的Web站点。

我们的目标:

  • 安装Web角色和服务
  • 安装Asp.net Core Module
  • 配置用户
  • 创建我们的站点
  • 启动IIS的远程管理
  • 安装Web Deploy
  • 配置Windows Server上的防火墙
  • 配置Azure Virtual Network Security Group
  • 测试远程管理
  • 测试通过MSBuildVisual Studio远程更新和发布站点

安装Web角色和服务

注意
本章是跟随前一章的内容,请先仔细阅读前一章的内容,前一章的地址在这里:
https://www.azuredeveloper.cn/article/build-web-by-azure-vm-create-azure-resource

可以通过Azure Portal找到我们创建的虚拟机,拿到公网IP, 或者直接运行如下的脚本(上一篇文章我们创建好的)得到公网IP:

 $ $public_ip.IpAddress

然后使用Windows的远程登录登录到虚拟机上,虚拟机默认启动服务器管理器, 如下图:


然后点击右上角的菜单管理 -> 添加角色和功能 , 如下图,启动安装向导:


安装向导如下图:


然后继续下一步:


安装类型记得按上图所选,然后继续下一步:


注意左侧列表里选择Web服务,会跳出一个弹框,默认选择就好了。

确定,下一步,然后选择单个组件,保持默认,继续下一步,一直到向导界面服务器角色功能如下图:


请按照上图所示选择所有的必要组件。然后就下一步又下一步直到完成所有安装。

支持我们完成了Windows Server上的Web服务器的安装。

安装Asp.net core Module

我们这个站点是为了运行基于.Net 6Asp.net core应用,安装好IIS之后,我们需要安装额外的模块,Asp.net core moduleHost Bundle, 它包含了Asp.net core module以及.Net 6的runtime, 您可以从这里直接下来,并安装就可以了:
https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/aspnet-core-module?view=aspnetcore-6.0

支持安装完成了,我们继续配置用户。