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





2.00/5 (1投票)
在本期的最后一篇文章中,我将向您展示如何完成聊天室的最终部署以及如何进行远程调试。
这个 Node.js 教程系列将帮助您构建一个完全部署在云端的、由 Node.js 驱动的实时聊天室 Web 应用。在本系列教程中,您将学习如何在 Windows 计算机上设置 Node.js ,如何使用 Express 开发 Web 前端,如何将基于 Node Express 的应用部署到 Microsoft Azure,如何使用 Socket.IO 添加实时层,以及如何将所有这些整合在一起进行部署。
级别:初学者到中级——您需要了解 HTML5 和 JavaScript
第二部分 - 欢迎使用 Node.js 和 Azure 的 Express
第三部分 - 使用 Node、Mongo 和 Socket.IO 构建后端
第 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 个网站。
- 设置好 Azure 账户后,回到 IDE,右键点击项目,然后点击“发布”。
- 点击“发布”将打开一个向导,其中包含一些选项,选择目标为 Microsoft Azure Websites。
- 在此步骤中,系统会要求您登录,请在此处使用您注册 Azure 时使用的同一个 Microsoft 账户。
- 点击“新建”来创建一个新的 Azure 网站,或者,如果您已有一个,则可以从下拉列表中选择它。
- 您需要填写向导中的字段(如下所示)。确保选择一个唯一的网站名称,然后点击“创建”。
- 您将看到一个预填充的向导。点击发布。
我们已经部署到云端,但工作尚未结束!
在 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 上启用。
- 右键点击项目并选择“发布”。
- 在左侧选择“设置”选项卡,并确保从下拉菜单中选择“调试”配置。
- 点击发布。
项目正确部署并启用 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 设备上进行远程测试。