65.9K
CodeProject 正在变化。 阅读更多。
Home

动手实践:构建一个 Node.js 驱动的聊天室 Web 应用 | 第 6 部分

starIconstarIconemptyStarIconemptyStarIconemptyStarIcon

2.00/5 (1投票)

2015年5月27日

CPOL

5分钟阅读

viewsIcon

5766

在本期的最后一篇文章中,我将向您展示如何完成聊天室的最终部署以及如何进行远程调试。

这个 Node.js 教程系列将帮助您构建一个完全部署在云端的、由 Node.js 驱动的实时聊天室 Web 应用。在本系列教程中,您将学习如何在 Windows 计算机上设置 Node.js ,如何使用 Express 开发 Web 前端,如何将基于 Node Express 的应用部署到 Microsoft Azure,如何使用 Socket.IO 添加实时层,以及如何将所有这些整合在一起进行部署。

级别:初学者到中级——您需要了解 HTML5 和 JavaScript

第一部分 - Node.js 入门

第二部分 - 欢迎使用 Node.js 和 Azure 的 Express

第三部分 - 使用 Node、Mongo 和 Socket.IO 构建后端

第四部分 – 使用 Bootstrap 构建聊天室 UI

第 5 部分 – 使用 WebSockets 连接聊天室

第 6 部分 – 终章与远程 Node 应用调试!

第 6 部分 – 终章与远程 Node 应用调试!

欢迎来到动手实践 Node.js 教程系列“构建一个 Node.js 驱动的聊天室 Web 应用”的第 6 部分。

在本期的最后一篇文章中,我将向您展示如何完成聊天室的最终部署以及如何进行远程调试。

部署到 Azure!

现在我们已经成功运行了由 Node.js 驱动的匿名聊天室应用,让我们用几下点击将其部署到云端。您可以将其部署到任何支持 Node.js 的云服务商。我将使用 Microsoft Azure,因为我可以在那里免费运行一个 Node.js 网站。

您可以在此处注册 Microsoft Azure 免费试用。您将获得试用额度,可用于 Azure 的所有服务。对于我们正在使用的服务,Azure Websites,您实际上可以免费运行 10 个网站。

  1. 设置好 Azure 账户后,回到 IDE,右键点击项目,然后点击“发布”。

  2. 点击“发布”将打开一个向导,其中包含一些选项,选择目标为 Microsoft Azure Websites。
  3. 在此步骤中,系统会要求您登录,请在此处使用您注册 Azure 时使用的同一个 Microsoft 账户。
  4. 点击“新建”来创建一个新的 Azure 网站,或者,如果您已有一个,则可以从下拉列表中选择它。

  5. 您需要填写向导中的字段(如下所示)。确保选择一个唯一的网站名称,然后点击“创建”。

  6. 您将看到一个预填充的向导。点击发布。

我们已经部署到云端,但工作尚未结束!

在 Azure Websites 中启用 WebSockets

您需要做几件事来确保您的网站已启用 WebSockets。如果您需要更详细的步骤或常见问题解答,请务必访问此页面

首先,您需要从 Azure 命令行或“配置”选项卡中启用 WebSockets,如下所示:

其次,您需要修改您的 web.config 文件,并在 system.webServer XML 元素中添加以下行。

<webSocket enabled="false" />

这可能看似违反直觉,但实际上是禁用了 IIS 的 WebSockets 模块。该模块包含其自己的 WebSockets 实现,并且会与 Node.js 特定的 WebSockets 模块(如 Socket.IO)发生冲突。

调试远程 Node 应用

Visual Studio 的 Node 工具提供了多种高级调试功能,如条件断点、“命中次数”断点、跟踪点以及对 Windows、Linux 和 OS X 的远程调试支持。在此处阅读更多

连接到远程 Node 实例

NTVS 支持远程调试运行在 Azure Web Sites 上的代码。与常规远程调试不同,目标机器无法通过 TCP 直接访问。NTVS 提供了一个用于调试协议的 WebSocket 代理,该代理通过 HTTP 公开调试器协议。当您创建新的 Windows Azure 项目时,Web.Debug.config 中已为您配置好代理,如果您按照接下来的几个步骤以“调试”配置发布项目,代理将会在 Azure WebSite 上启用。

  1. 右键点击项目并选择“发布”。

  2. 在左侧选择“设置”选项卡,并确保从下拉菜单中选择“调试”配置。

  3. 点击发布

项目正确部署并启用 WebSockets 后,您可以通过服务器资源管理器连接到该网站。如果您没有打开服务器资源管理器窗口,可以通过“视图”→“服务器资源管理器”打开。然后,在“Windows Azure”→“Web Sites”下找到您的网站,并右键点击它。如果它正在运行,并且您的项目已使用调试配置部署到其中,您应该会在上下文菜单中看到“附加调试器 (Node.js)”命令。

读取日志和流式传输日志

如果您想流式传输最新的日志,这非常简单!您只需在服务器资源管理器中右键点击您的网站,然后按“查看流式传输日志”。

结论

瞧!您现在已经拥有了一个匿名的、实时的云端聊天室!通过本系列,我们学习了如何设置 Node,如何使用 Express 开发 Web 前端,如何将我们的应用部署到云端,如何使用 Socket.IO 添加实时层,以及如何将所有这些整合在一起进行部署!

请务必重读我博客上的不同部分,我可能会不时更新本教程。您可以通过关注我的 Twitter 账户@ramisayar 来保持最新。

附注:如果您想要更多成功的 GIF,请点击此处

更多关于 Azure 上的 Node 学习

要深入学习 Node,您可以在 Microsoft Virtual Academy 上找到我的课程:此处

或者一些关于类似 Node 主题的短视频

本文是 Microsoft Web 开发技术系列的一部分。我们很高兴与您分享Microsoft Edge 及其新的渲染引擎。在 modern.IE 上获取免费虚拟机或在您的 Mac、iOS、Android 或 Windows 设备上进行远程测试。

© . All rights reserved.