3

我有一个运行我的 node.js 应用程序的 Windows Azure 网站,一切正常。我最终需要运行本机 node.js 模块(光纤),这需要我迁移到 Windows Azure 云服务。我使用了转换为 Azure 云服务向导,它创建了一个 Web 角色,允许我将我的应用程序部署为云服务并在节点下运行光纤。到目前为止,一切都很好。

我的应用程序需要 WebSockets,它在 Azure 网站下受支持(当您从配置 UX 中打开它时,或多或少会自动启用)。几天来,我一直在努力让 WebSockets 与云服务一起工作,我已经确定我的问题是在云服务中默认运行的 iisnode 版本太旧,无法支持 node.js WebSockets正常的方式。云服务安装了 iisnode 1.21 版,而 iisnode 中的 WebSockets 支持直到 2.0 版才出现(我不知道为什么云服务映像使用了那个糟糕的 iisnode 旧版本)。

请注意,我不想使用工作角色并在不同的端口上监听(我收集到的是很多人如何解决这个问题)。

不幸的是,我无法弄清楚如何在我的云服务中安装更新版本的 iisnode(我认为可以在云服务启动时运行安装程序(可能通过 setup_web.cmd),但目前为止正如我所得到的。

关于我需要做什么才能让我的 Azure 云服务运行更新版本的 iisnode 的任何指示?

4

1 回答 1

4

要更新安装在 Azure 托管服务上的 iisnode 版本,您需要:

  1. 从http://go.microsoft.com/?linkid=9784331下载 iisnode 的最新 x64 安装程序
  2. 在要部署到托管服务的包中包含该 *.msi 文件。
  3. 在 setup_web.cmd 中,使用msiexec /i iisnode-full-iis7-v0.2.7-x64.msi /passive. 这必须以管理员身份运行,但我相信 setup_web.cmd 已经以管理员身份运行。

或者,对于一次性安装,您可以只 TS 到机器并手动安装。

顺便问一下,是什么阻止您在 Windows Azure 网站中使用本机模块?

于 2014-03-05T18:59:25.067 回答