繁体   English   中英

Node.js + Express仅在测试服务器上的端口3000上工作

[英]Node.js + Express only work on port 3000 on test server

在本地测试中可以正常工作。 在不同的端口上(3001、8080)

但是在测试服务器上(Azure)

我在同一台机器上运行2个Node App实例

$ node api1/index.js (on port 3000)
$ node api2/index.js (on port 3001)

$ node api1/index.js (on port 3001)
$ node api2/index.js (on port 3000)

但它仅适用于端口3000。

如何在Express中设置其他端口?

现在,我已在index.js的app.listen(3001)上进行了更改,但它不起作用。

通常,云平台会设置一个环境变量,其中包含它们希望您将其粘贴在其上的端口。 我没有使用Azure的任何经验...请参见此处的答案: 如何在Azure上运行node.js服务器?

特别:

var port = process.env.port

根据我的经验,大多数云提供商都不允许您在其他端口上玩。 您也可以始终指定一个本地主机端口,尽管这样做是:

var port = process.env.port || 3001 //(or whatever)

app.listen(port);

这样,如果未定义process.env.port(它将在您的开发环境中),则您将退回到3001。

说得通?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM