簡體   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