1

ローカルテストでは動作します。別のポート (3001、8080)

ただし、テスト サーバー (Azure) では

同じマシンで Node App の 2 つのインスタンスを実行しています

$ 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 に答える