1

在本地测试它工作。在不同的端口(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) 进行了更改,但它不起作用。

4

1 回答 1

5

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

具体来说:

var port = process.env.port

根据我的经验,大多数云提供商都不允许你在其他端口上玩。您也可以随时指定 localhost 端口,但可以这样做:

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

app.listen(port);

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

说得通?

于 2013-10-10T15:52:04.277 回答