【发布时间】:2021-04-15 09:09:56
【问题描述】:
我上传了以下名为 server.js 的文件:
var express = require('express');
var app = express();
app.get('/', function (req, res) {
console.log('Send message on get request');
res.send('Hello full-stack development!');
});
app.set('port', process.env.port || 3000);
var server = app.listen(app.get('port'), function () {
console.log('Express server listening on port:' +
server.address().port);
});
连同以下 package.json 文件:
{
"name": "newswatcher",
"version": "0.0.0",
"description": "NewsWatcher",
"main": "server.js",
"author": {
"name": "myname",
"email": "myemail"
},
"scripts": {
"start": "node server.js"
},
"dependencies": {
"express": "4.17.1"
}
}
还有 package-lock.json 和 npm 模块。 我按照基本步骤创建了一个 aws 应用程序,然后上传并部署了包含我在中提到的四个文件的 zip 文件,并将环境变量 NPM_CONFIG_PRODUCTION 设置为 true。然后当我进入环境时,我得到 502 bad gateway 错误。
当我使用 npm start 在本地运行它时,它工作正常。
这是来自使它看起来像是在工作的日志:
/var/log/web.stdout.log
1 月 10 日 01:46:27 ip-172-31-13-23 web: > newswatcher@0.0.0 start /var/app/current
1 月 10 日 01:46:27 ip-172-31-13-23 web:> 节点 server.js
1 月 10 日 01:46:27 ip-172-31-13-23 web:Express 服务器侦听端口:3000
1 月 10 日 01:49:59 ip-172-31-13-23 web: > Elastic-Beanstalk-Sample-App@0.0.1 start /var/app/current
1 月 10 日 01:49:59 ip-172-31-13-23 web:> 节点 app.js
1 月 10 日 01:49:59 ip-172-31-13-23 web:服务器运行在 http://127.0.0.1:8080/
1 月 10 日 01:58:11 ip-172-31-13-23 web: > newswatcher@0.0.0 start /var/app/current
1 月 10 日 01:58:11 ip-172-31-13-23 网络:> 节点 server.js
1 月 10 日 01:58:11 ip-172-31-13-23 web:Express 服务器侦听端口:3000
这是来自错误日志:
2021/01/10 02:24:23 [错误] 4619#0: *431 connect() 在连接到上游时失败(111:连接被拒绝),客户端:172.31.24.137,服务器:,请求:“GET /HTTP/1.1”,上游:“http://127.0.0.1:8080/”,主机:“172.31.13.23”
2021/01/10 02:24:23 [错误] 4619#0: *433 connect() 在连接到上游时失败(111:连接被拒绝),客户端:172.31.10.27,服务器:,请求:“GET /HTTP/1.1”,上游:“http://127.0.0.1:8080/”,主机:“172.31.13.23”
这些事情就这样继续下去。
怎么了?
【问题讨论】:
-
您的日志显示 express 在端口 3000 上,但 nginx 需要 8080。
-
谢谢,我认为 aws 会自动使它们同步。如果未设置,我将应用程序端口设置为 process.env.port 和 3000。那时没有定义 process.env.port 吗?
-
不,由您来设置。您是否设法更改了端口并成功了?
-
是的,我将 server.js 中的端口更改为 3000 并重新进行了所有操作
-
很高兴听到这个消息。如果您不介意,我会提供答案以供将来参考。
标签: node.js amazon-elastic-beanstalk