将 Node.js Web 应用部署到 Azure Stack Hub 中的 VM

可以创建一个虚拟机 (VM) 来托管 Azure Stack Hub 中的 Node.js Web 应用。 在本文中,设置一个服务器,将该服务器配置为托管 Node.js Web 应用,然后将该应用部署到 Azure Stack Hub。

如果需要了解有关公共 Azure 的一般信息,请参阅面向 JavaScript 和 Node.js 开发人员的 Azure。 本文针对使用 Azure Stack Hub(一种 Azure 本地版本)。

创建 VM

  1. 按照部署 Linux VM 以在 Azure Stack Hub 中托管 Web 应用中的说明,在 Azure Stack Hub 中设置 VM。

  2. 在“VM 网络”窗格中,确保可以访问以下端口:

    端口 协议 说明
    80 HTTP 超文本传输协议 (HTTP) 是用于从服务器传递网页的协议。 客户端使用 DNS 名称或 IP 地址通过 HTTP 进行连接。
    443 HTTPS 安全超文本传输协议 (HTTPS) 是 HTTP 的安全版本,它需要一个安全证书,并允许对信息进行加密传输。
    22 SSH 安全外壳 (SSH) 是一种用于安全通信的加密网络协议。 你在 SSH 客户端上使用此连接来配置 VM 并部署应用。
    3389 RDP 可选。 远程桌面协议 (RDP) 允许远程桌面连接使用计算机的图形用户界面。
    3000 自定义 Node.js Express 框架使用的端口。 对于生产服务器,通过 80 和 443 路由流量。

安装 Node

  1. 使用 SSH 客户端连接到 VM。 有关说明,请参阅使用 PuTTY 通过 SSH 进行连接

  2. 在 VM 上的 bash 提示符下,输入以下命令:

      sudo apt-get update
      sudo apt-get install nodejs
      sudo apt-get install npm
    

    这还会安装 NPM(一种适用于 Node.js 包或模块的包管理器)。

  3. 验证安装。 仍在 SSH 会话中连接到 VM 时,输入以下命令:

       node --version
    

使用快速生成器搭建新应用程序

Express 是用于生成和运行 Node.js 应用程序的流行框架。 可以使用 Express Generator 工具搭建(创建)新的 Express 应用程序。 快速生成器作为 npm 模块提供,可以使用 npm 命令行工具 npx 直接运行(无需安装)。

 npx express-generator myExpressApp --view pug --git

--view pug --git 参数告知生成器使用 pug 模板引擎(以前称为 jade)并创建 .gitignore 文件。

若要安装应用程序的所有依赖项,请转到新文件夹并运行 npm 安装。

cd myExpressApp
npm install

运行应用程序。 在终端中,使用 npm start 命令启动该应用程序以启动服务器。

在 Web 浏览器中转到新服务器。 应会看到你的 Web 应用程序正在运行。 可以在 Azure Stack Hub 用户门户中找到标记为“DNS 名称”的 Linux VM 的 URL。

http://yourhostname.contoso.com:3000

后续步骤