ポート 3000 でのみ動作する Node.js/Express.js アプリをサーバーで実行していますが、その理由を突き止めようとしています。これが私が見つけたものです:
- ポート (
app.listen()
) を指定しないと、アプリは実行されますが、Web ページは読み込まれません。 - ポート 3001 (
app.listen(3001)
) または使用されていないその他のポートでは、アプリは実行されますが、Web ページは読み込まれません。 - ポート 2999 では、他の何かがそのポートを使用しているため、アプリはエラーをスローします。
- ポート 3000 でアプリが実行され、Web ページが正常に読み込まれます。
Express アプリのデフォルトはポート 3000 であることは知っています。しかし奇妙なことに、私のアプリは明示的にポート 3000 で実行するように設定した場合にのみ実行されます ( app.listen(3000)
)。
の220行目でこれを見つけました/usr/bin/express
:
app.set(\'port\', process.env.PORT || 3000);
前述のように、ポートを指定されたものに設定するか、何も指定されていない場合は 3000 に設定します。
8080 や 3001 などの別のポートでアプリを動作させるにはどうすればよいですか?
ありがとう!
編集:コードサンプル(非常にシンプルなノード/エクスプレスアプリ)
var express = require("express");
var app = express();
app.get('/', function(req, res){
res.send('hello world');
});
// Only works on 3000 regardless of what I set environment port to or how I set [value] in app.set('port', [value]).
app.listen(3000);