【发布时间】:2016-03-28 00:56:23
【问题描述】:
在 Amazon EC2 上运行。代码是由 express-generator 自动创建的。
要启动应用程序,我必须这样做:
sudo PORT=80 npm start
然后我添加了第 14 行:
app.set('port', process.env.PORT || 80);
还有 66
http.createServer(app).listen(app.get('port'), function(){
console.log('Express server listening on port ' + app.get('port'));
现在我可以说:
sudo npm start
但它说 - Express 服务器正在侦听端口 3000。我可以从浏览器访问它,但为什么是 3000
包.json
{
"name": "haha",
"version": "0.0.0",
"private": true,
"scripts": {
"start": "node ./bin/www"
},
"dependencies": {
"body-parser": "~1.13.2",
"cookie-parser": "~1.3.5",
"debug": "~2.2.0",
"express": "~4.13.1",
"express-generator": "^4.13.1",
"jade": "~1.11.0",
"kerberos": "file:kerberos",
"mongodb": "^2.0.52",
"morgan": "~1.6.1",
"serve-favicon": "~2.3.0"
}
}
【问题讨论】:
-
仅供参考,请确保您转换为浮点数。环境变量是字符串。 IE。
app.set('port', Number(process.env.PORT) || 80); -
谢谢,我做了,但还是说 3000。
-
检查你的 package.json ,也许那里有一个默认覆盖你的配置
-
还有可能是bin/www中的端口被重新配置了
-
package.json 中没有任何内容,但您对 bin/www 的看法可能是对的
标签: node.js amazon-ec2 port express-4