我正在尝试在我的一个运行离线Windows Server 2012的node.js应用程序上进行生产。经过一周的故障排除并阅读我可以上网的所有内容,问题似乎是“process.env。 PORT“变量。
症状如下:
网站在以下情况下正常运作:
set PORT=3510 in console
domain.com:3510/index.html in remote browser
然而,当我输入:
domain.com
我收到了404 - 找不到文件或目录。
当我在server.js启动时console.log“process.env”对象时,console.log会打印一个具有多个属性但没有“PORT”属性的对象(除非我“设置PORT = 3510”)。如果不在启动server.js之前手动设置端口,则“process.env.PORT”console.logs报告未定义。
但是,如果手动指定端口,服务器仍然无法工作,因为根据我读到的,节点希望“process.env.PORT”是命名管道而不是数字。
所以问题非常具体:
如何在Windows 2012服务器上设置“process.env.PORT变量”,以便nodejs可以使用它?
答案 0 :(得分:0)
您需要在web.config文件中进行设置。您可以将密钥设置为" PORT"拥有你需要的价值。请参阅下面的web.config文件作为示例...
<configuration>
<appSettings>
<add key="PORT" value="3510" />
</appSettings>
...(Other configurations here)
</configuration>