我有一个 node .js/Express.在我的服务器上运行的js应用程序只能在3000端口上运行,我正在试图找出原因.以下是我的发现:
- 如果不指定端口(
app.listen()
),应用程序将运行,但网页不会加载. - 在端口3001(
app.listen(3001)
)或任何其他未使用的端口上,应用程序会运行,但网页不会加载. - 在端口2999上,应用程序抛出一个错误,因为有其他东西正在使用该端口.
- 在端口3000上,应用程序运行,网页加载正常.
我知道Express应用默认为端口3000.但奇怪的是,我的应用程序只有在我明确让它在端口3000(app.listen(3000)
)上运行时才会运行.
我在第220行(共/usr/bin/express
行)找到了这个:
app.set(\'port\', process.env.PORT || 3000);
如前所述:将端口设置为指定的端口,如果未指定任何端口,则设置为3000.
如何让我的应用程序在不同的端口上工作,例如8080或3001?
谢谢
Edit: Code Sample (Very Simple Node/Express App)
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);