Azure网站Node.JS不运行64位。

时间:2014-02-25 11:43:55

标签: node.js azure azure-web-sites

在最近的Azure网站更新后,它破坏了我们在Node.JS上运行的一些网站。在运行一些测试以查看网站运行的体系结构之后,结果是在IA64上运行。这就是配置被选为32位而不是64位。 没问题,如果将其更改为64位也会将NodeJS更改为64位,但仍保持32位格式。

所以我的问题是:如何确保操作系统和NodeJS运行时在同一架构上运行。 32位还是64位?

1 个答案:

答案 0 :(得分:3)

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>

这里,env变量PROCESSOR_ARCHITECTURE反映了工作进程的位数。如果这不起作用,请告诉我。

d:\ home \ site \ wwwroot是您的azure网站的wwwroot文件夹。