在最近的Azure网站更新后,它破坏了我们在Node.JS上运行的一些网站。在运行一些测试以查看网站运行的体系结构之后,结果是在IA64上运行。这就是配置被选为32位而不是64位。 没问题,如果将其更改为64位也会将NodeJS更改为64位,但仍保持32位格式。
所以我的问题是:如何确保操作系统和NodeJS运行时在同一架构上运行。 32位还是64位?
答案 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文件夹。