[英]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.