快速入门:使用 Azure CLI 创建 Linux 虚拟机

适用于:✔️ Linux VM

本快速入门介绍了如何使用 Azure CLI 在 Azure 中部署 Linux 虚拟机 (VM)。 Azure CLI 用于从命令行或脚本创建和管理 Azure 资源。

在本教程中,我们将安装最新的 Debian 映像。 为了显示运转中的 VM,我们将使用 SSH 连接到它并安装 NGINX Web 服务器。

如果没有 Azure 订阅,可在开始前创建一个试用帐户

启动 Azure 本地 Shell

如果希望在本地安装并使用 CLI,则本快速入门需要 Azure CLI version 2.0.30 或更高版本。 运行 az --version 即可查找版本。 如果需要进行安装或升级,请参阅安装 Azure CLI

注意

在可以在由世纪互联运营的 Microsoft Azure 中使用 Azure CLI 之前,请先运行 az cloud set -n AzureChinaCloud 来更改云环境。 若要切换回 Azure 公有云,请再次运行 az cloud set -n AzureCloud

定义环境变量

环境变量通常用于在 Linux 中集中配置数据,以提高系统的一致性和可维护性。 创建以下环境变量,以指定本教程稍后将创建的资源的名称:

export RESOURCE_GROUP_NAME=myResourceGroup
export LOCATION=chinaeast
export VM_NAME=myVM
export VM_IMAGE=debian
export ADMIN_USERNAME=azureuser

创建资源组

使用“az group create”命令创建资源组。 Azure 资源组是在其中部署和管理 Azure 资源的逻辑容器。

az group create --name $RESOURCE_GROUP_NAME --location $LOCATION

创建虚拟机

使用 az vm create 命令创建 VM。

以下示例将创建 VM 并添加用户帐户。 --generate-ssh-keys 参数用来自动生成一个 SSH 密钥,并将其放置在默认密钥位置 ( ~/.ssh) 中。 若要改为使用一组特定的密钥,请使用 --ssh-key-values 选项。

az vm create \
  --resource-group $RESOURCE_GROUP_NAME \
  --name $VM_NAME \
  --image $VM_IMAGE \
  --admin-username $ADMIN_USERNAME \
  --generate-ssh-keys \
  --public-ip-sku Standard

创建 VM 和支持资源需要几分钟时间。 以下示例输出表明 VM 创建操作已成功。

{
  "fqdns": "",
  "id": "/subscriptions/<guid>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
  "location": "chinaeast",
  "macAddress": "00-0D-3A-23-9A-49",
  "powerState": "VM running",
  "privateIpAddress": "10.0.0.4",
  "publicIpAddress": "40.68.254.142",
  "resourceGroup": "myResourceGroup"
}

记下要在以后使用的 publicIpAddress

你可以使用以下命令检索 IP 地址并将其存储在变量 IP_ADDRESS 中:

export IP_ADDRESS=$(az vm show --show-details --resource-group $RESOURCE_GROUP_NAME --name $VM_NAME --query publicIps --output tsv)

采用 CLI 创建虚拟机的过程中不会像 Azure 门户那样显示成本信息。 若要详细了解虚拟机的成本构成,请参阅成本优化概述页

安装 Web 服务器

若要查看运行中的 VM,请安装 NGINX Web 服务器。 更新程序包来源,然后安装最新的 NGINX 程序包。 以下命令将使用 run 命令来在 VM 上运行 sudo apt-get update && sudo apt-get install -y nginx

az vm run-command invoke \
   --resource-group $RESOURCE_GROUP_NAME \
   --name $VM_NAME \
   --command-id RunShellScript \
   --scripts "sudo apt-get update && sudo apt-get install -y nginx"

为 Web 流量打开端口 80

默认情况下,在 Azure 中创建 Linux VM 时仅打开 SSH 连接。 使用 az vm open-port 打开 TCP 端口 80 以供 NGINX Web 服务器使用:

az vm open-port --port 80 --resource-group $RESOURCE_GROUP_NAME --name $VM_NAME

查看运行中的 Web 服务器

使用所选的 Web 浏览器查看默认的 NGINX 欢迎页。 使用你的 VM 的公共 IP 地址作为 Web 地址。 以下示例演示了默认 NGINX 网站:

Screenshot showing the N G I N X default web page.

或者,运行以下命令以查看终端中的 NGINX 欢迎页面

 curl $IP_ADDRESS

以下示例将终端中的默认 NGINX 网站显示为成功输出:

<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
    body {
        width: 35em;
        margin: 0 auto;
        font-family: Tahoma, Verdana, Arial, sans-serif;
    }
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p>

<p>For online documentation and support please refer to
<a href="http://nginx.org/">nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p>

<p><em>Thank you for using nginx.</em></p>
</body>
</html>

清理资源

如果不再需要资源组、VM 和所有相关的资源,可以使用 az group delete 命令将其删除。

az group delete --name $RESOURCE_GROUP_NAME --no-wait --yes --verbose

后续步骤

在本快速入门中,你部署了简单的虚拟机,打开了 Web 流量的网络端口,并安装了基本的 Web 服务器。 若要详细了解 Azure 虚拟机,请继续学习 Linux VM 的教程。