【问题标题】:Azure Website Node.JS doesn't run 64 bit.Azure 网站 Node.JS 不运行 64 位。
【发布时间】:2014-03-25 11:07:04
【问题描述】:
最近一次 Azure 网站更新后,它破坏了我们在 Node.JS 上运行的一些网站。在运行了一些测试以查看该网站运行在哪种架构上之后,结果证明它是在 IA64 上运行的。那就是配置被选为 32 位,而不是 64 位。
没问题,如果将其更改为 64 位也会将 NodeJS 更改为 64 位,但仍保持 32 位格式。
所以我的问题是:我如何确保操作系统和 NodeJS 运行时都在相同的架构上运行。 32 位还是 64 位?
【问题讨论】:
标签:
node.js
azure
azure-web-app-service
【解决方案1】:
默认情况下,Azure 网站没有安装 64 位 node.exe。您想要做的解决方法是将 32 位和 64 位 node.exe 分别放在 d:\home\site\wwwroot\bin\x86 和 d:\home\site\wwwroot\bin\amd64 中,然后在您的 web.config 配置 nodeProcessCommandLine="d:\home\site\wwwroot\bin\%PROCESSOR_ARCHITECTURE%\node.exe" 如下所示:
<configuration>
<system.webServer>
<handlers>
<add name="iisnode" path="server.js" verb="*" modules="iisnode" />
</handlers>
<iisnode nodeProcessCommandLine="d:\home\site\wwwroot\bin\%PROCESSOR_ARCHITECTURE%\node.exe"/>
</system.webServer>
</configuration>
这里,环境变量 PROCESSOR_ARCHITECTURE 反映了工作进程的位数。如果这不起作用,请告诉我。
d:\home\site\wwwroot 是您的 azure 网站的 wwwroot 文件夹。