在 Azure 中创建 Node.js Web 应用

Azure Web 应用提供高度可缩放、自修补的 Web 托管服务。 本快速入门演示如何将 Node.js 应用部署到 Azure Web 应用中。 使用 Azure CLI 创建 Web 应用,并使用 Git 将 Node.js 代码示例部署到 Web 应用。

在 Azure 中运行的示例应用

可以在 Mac、Windows 或 Linux 计算机上执行此处的步骤。 安装先决条件后,大约需要五分钟完成这些步骤。

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

先决条件

若要完成本快速入门教程,需先执行以下操作:

下载示例

https://github.com/Azure-Samples/nodejs-docs-hello-world/archive/master.zip 下载示例 Node.js 项目并提取 ZIP 存档。

在终端窗口中,导航到示例性 Node.js 项目的根目录(包含 index.js 的目录)。

在本地运行应用

打开一个终端窗口并使用 npm start 脚本启动内置的 Node.js HTTP 服务器,以在本地运行应用程序。

npm start

打开 Web 浏览器并导航到 http://localhost:1337 处的示例应用。

页面中会显示该示例应用发出的 Hello World 消息。

在本地运行的示例应用

在终端窗口中,按 Ctrl+C 退出 Web 服务器。

创建一个项目 ZIP 文件

创建一个包含项目中的所有内容的 ZIP 存档。 以下命令使用终端中的默认工具:

# Bash
zip -r myAppFiles.zip .

# PowerShell
Compress-Archive -Path * -DestinationPath myAppFiles.zip

随后将此 ZIP 文件上传到 Azure 并将其部署到应用服务。

配置部署用户

使用 az webapp deployment user set 命令创建部署凭据。

在 Web 应用中进行 FTP 和本地 Git 部署时需要一个部署用户。 用户名和密码都为帐户级别。 它们与 Azure 订阅凭据不同。

在以下命令中,将 <user-name> 和 <password> 替换为新的用户名和密码。 用户名必须唯一。 密码长度必须至少为 8 个字符,其中包含以下 3 种元素中的两种:字母、数字、符号。

az webapp deployment user set --user-name <username> --password <password>

如果收到 'Conflict'. Details: 409 错误,请更改用户名。 如果收到 'Bad Request'. Details: 400 错误,请使用更强的密码。

只创建此部署用户一次;可对所有 Azure 部署使用此用户。

Note

记录用户名和密码。 稍后需要使用它们来部署 Web 应用。

创建资源组

资源组是在其中部署和管理 Azure 资源(例如 Web 应用、数据库和存储帐户)的逻辑容器。

使用 az group create 命令创建资源组。 以下示例在“中国北部”位置创建名为“myResourceGroup”的资源组。 若要查看免费层中应用服务支持的所有位置,请运行 az appservice list-locations --sku F1 命令。

az group create --name myResourceGroup --location "China North"

通常在附近的区域中创建资源组和资源。

此命令完成后,JSON 输出会显示资源组属性。

创建 Azure 应用服务计划

使用 az appservice plan create 命令创建应用服务计划。

Note

应用服务计划表示用于托管应用的物理资源集合。 分配到应用服务计划的所有应用程序将共享该计划定义的资源。 托管多个应用时,此共享可让你节省资金。

应用服务计划定义:

  • 区域(中国东部、中国东部 2、中国北部、中国北部 2)。
  • 实例大小(小、中、大)
  • 规模计数(默认情况为 1 到 20 个实例)
  • SKU(免费、共享、基本、标准、高级)

以下示例在免费定价层中创建名为 myAppServicePlan 的应用服务计划:

az appservice plan create --name myAppServicePlan --resource-group myResourceGroup --sku FREE

创建应用服务计划后,Azure CLI 将显示类似于以下示例的信息:

{ 
  "adminSiteName": null,
  "appServicePlanName": "myAppServicePlan",
  "geoRegion": "China North",
  "hostingEnvironmentProfile": null,
  "id": "/subscriptions/0000-0000/resourceGroups/myResourceGroup/providers/Microsoft.Web/serverfarms/myAppServicePlan",
  "kind": "app",
  "location": "China North",
  "maximumNumberOfWorkers": 1,
  "name": "myAppServicePlan",
  < JSON data removed for brevity. >
  "targetWorkerSizeId": 0,
  "type": "Microsoft.Web/serverfarms",
  "workerTierName": null
} 

创建 Web 应用

在终端窗口中,使用 az webapp create 命令在 myAppServicePlan 应用服务计划中创建一个 Web 应用。

在以下示例中,将 <app_name> 替换为全局唯一的应用名称(有效字符是 a-z0-9-)。 运行时设置为 NODE|6.9。 若要查看所有受支持的运行时,请运行 az webapp list-runtimes

# Bash
az webapp create --resource-group myResourceGroup --plan myAppServicePlan --name <app_name> --runtime "NODE|6.9"
# PowerShell
az --% webapp create --resource-group myResourceGroup --plan myAppServicePlan --name <app_name> --runtime "NODE|6.9"

创建 Web 应用后,Azure CLI 会显示类似于以下示例的输出:

{
  "availabilityState": "Normal",
  "clientAffinityEnabled": true,
  "clientCertEnabled": false,
  "cloningInfo": null,
  "containerSize": 0,
  "dailyMemoryTimeQuota": 0,
  "defaultHostName": "<app_name>.chinacloudsites.cn",
  "enabled": true,
  < JSON data removed for brevity. >
}

浏览到新建的 Web 应用。 将 <应用名称> 替换为唯一的应用名称。

http://<app name>.chinacloudsites.cn

新 Web 应用应该如下所示:

空 Web 应用页

部署 ZIP 文件

在浏览器中,导航到 https://<app_name>.scm.chinacloudsites.cn/ZipDeploy

上传在创建一个项目 ZIP 文件中创建的 ZIP 文件,只需将其拖至网页的文件资源管理器区域即可。

部署正在进行的时候,右上角的图标会以百分比形式显示进度。 该页还在资源管理器区域下方显示操作的详细消息。 完成后,最后一个部署消息会显示:Deployment successful

浏览到应用

使用 Web 浏览器浏览到已部署的应用程序。

http://<app_name>.chinacloudsites.cn

Node.js 示例代码正在 Azure 应用服务 Web 应用中运行。

在 Azure 中运行的示例应用

祝贺你! 现已将第一个 Node.js 应用部署到应用服务。

更新并重新部署代码

使用文本编辑器在 Node.js 应用中打开 index.js 文件,然后对 response.end 调用中的文本稍微进行更改:

response.end("Hello Azure!");

在本地终端窗口中,导航到应用程序的根目录,为更新的项目创建新的 ZIP 文件。

# Bash
zip -r myUpdatedAppFiles.zip .

# PowerShell
Compress-Archive -Path * -DestinationPath myUpdatedAppFiles.zip

将此新的 ZIP 文件部署到应用服务,使用的步骤与上传 ZIP 文件中的相同。

切换回在“浏览到应用”步骤中打开的浏览器窗口,然后刷新页面。

已更新的在 Azure 中运行的示例应用

管理新 Azure Web 应用

转到 Azure 门户管理创建的 Web 应用。

在左侧菜单中单击“应用服务”,然后单击 Azure Web 应用的名称。

在门户中导航到 Azure Web 应用

随后会显示 Web 应用的概述页。 在此处可以执行基本的管理任务,例如浏览、停止、启动、重启和删除。

Azure 门户中的“应用服务”页

左侧菜单提供用于配置应用的不同页面。

清理资源

若要删除通过此快速入门创建的所有资源,请运行以下命令:

az group delete --name myResourceGroup

后续步骤