Azure 网站节点.JS不会运行 64 位。



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

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

Azure 网站默认没有安装 64 位节点.exe。您要执行的操作的解决方法是分别将 32 位和 64 位节点.exe放在 d:\home\site\wwwroot\bin\x86 和 d:\home\site\wwwroot\bin\amd64 中,然后在您的 web.config 中配置 nodeProcessLine="d:\home\site\wwwroot\bin\%PROCESSOR_ARCHITECTURE%ode.exe",如下所示:

<configuration>
  <system.webServer>
  <handlers>
    <add name="iisnode" path="server.js" verb="*" modules="iisnode" />
  </handlers>
    <iisnode nodeProcessCommandLine="d:homesitewwwrootbin%PROCESSOR_ARCHITECTURE%node.exe"/>
  </system.webServer>
</configuration>

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

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

最新更新