练习 - 创建网站

已完成

在机动车部门系统中,你决定在两台服务器上运行 Web 应用。 你将使用虚拟机实施每个服务器。

在此练习中,你将创建一对虚拟机并安装车辆登记 Web 应用。 你还将配置应用程序网关可用于连接到虚拟机的虚拟网络。 最后,你会将驾照续期网站部署到 Azure 应用服务的实例。

Diagram showing the resources that will be deployed.

创建虚拟机并部署车辆登记站点

  1. 在浏览器中打开 Azure Cloud Shell,登录到一个目录,该目录具有对要在其中创建资源的订阅的访问权限。

  2. 在 Cloud Shell 中运行以下命令,创建用于存储资源组名称的变量,以及用于资源的资源组。 将 <resource group name> 替换为资源组的名称,将 <location> 替换为要在其中部署资源的 Azure 区域。

    注意

    如果需要查找位置名称,可以使用以下命令:az account list-locations -o table

    RG=<resource group name>
    az group create --name $RG --location <location>
    
  3. 在 Cloud Shell 窗口中,运行以下命令。 此命令使用 Azure 命令行接口来创建名为 vehicleappvnet 的虚拟网络。 它是一个专用网络,提供 10.0.0.0 到 10.0.255.255 的地址范围。 该命令还会创建一个名为 webServerSubnet 的子网,提供 10.0.1.0 到 10.0.1.255 的地址范围。 此子网将包含虚拟机。

    az network vnet create \
      --resource-group $RG \
      --name vehicleAppVnet \
      --address-prefixes 10.0.0.0/16 \
      --subnet-name webServerSubnet \
      --subnet-prefixes 10.0.1.0/24
    
  4. 若要下载创建虚拟机的脚本,请运行以下命令:

    git clone https://github.com/MicrosoftDocs/mslearn-load-balance-web-traffic-with-application-gateway module-files
    
  5. 运行以下命令,为 Web 服务器创建并配置虚拟机。 虚拟机名为 webServer1webServer2。 每个虚拟机都运行 Ubuntu Server。 为每个虚拟机创建管理用户帐户,使用登录名 azureuser。 在每个虚拟机上安装车辆登记 Web 应用。

    第一个命令异步运行,以实现同时创建两个虚拟机。

    az vm create \
      --resource-group $RG \
      --name webServer1 \
      --image Ubuntu2204 \
      --admin-username azureuser \
      --generate-ssh-keys \
      --vnet-name vehicleAppVnet \
      --subnet webServerSubnet \
      --public-ip-address "" \
      --nsg "" \
      --custom-data module-files/scripts/vmconfig.sh \
      --no-wait
    
    az vm create \
      --resource-group $RG \
      --name webServer2 \
      --image Ubuntu2204 \
      --admin-username azureuser \
      --generate-ssh-keys \
      --vnet-name vehicleAppVnet \
      --subnet webServerSubnet \
      --public-ip-address "" \
      --nsg "" \
      --custom-data module-files/scripts/vmconfig.sh
    
  6. 运行以下命令,确认已成功创建两个虚拟机:

    az vm list \
      --resource-group $RG \
      --show-details \
      --output table
    

    应会看到类似于下面的输出。 请先确保两个虚拟机的“PowerState”均为“VM 正在运行”,然后再继续操作。

    Name          ResourceGroup      PowerState    PublicIps    Fqdns    Location        Zones
    ------------  -----------------  ------------  -----------  -------  --------------  -------
    webServer1    MyResourceGroup    VM running                          southcentralus
    webServer2    MyResourceGroup    VM running                          southcentralus
    

你现在已创建了运行车辆注册 Web 应用的虚拟机。 两个虚拟机完全相同,属于同一个虚拟网络。

创建应用服务和部署驾照更新站点

  1. 首先,通过运行以下命令,为网站生成唯一名称:

    APPSERVICE="licenserenewal$RANDOM"
    
  2. 然后,通过运行以下命令,创建 Web 应用将使用的应用服务计划:

    az appservice plan create \
        --resource-group $RG \
        --name vehicleAppServicePlan \
        --sku S1
    
  3. 最后,创建 Web 应用并部署驾照更新站点:

    az webapp create \
        --resource-group $RG \
        --name $APPSERVICE \
        --plan vehicleAppServicePlan \
        --deployment-source-url https://github.com/MicrosoftDocs/mslearn-load-balance-web-traffic-with-application-gateway \
        --deployment-source-branch appService 
    

接下来,我们将详细介绍如何配置应用程序网关。