将node js app部署到AWS Elastic Beanstalk时出错

时间:2015-04-21 11:08:02

标签: node.js amazon-web-services express nginx elastic-beanstalk

我将节点js应用程序部署到AWS EBS。当我运行应用程序时,我收到错误“502 Bad Gateway”nginx / 1.6.2。这是我在日志中发现的。

env.elasticbeanstalk.com/” 2015/04/21 10:52:01 [错误] 3807#0:* 86连接()失败(111:连接被拒绝)连接上游,客户端:172.31.4.86,服务器:,请求:“GET / HTTP / 1.1“,上游:”http://127.0.0.1:8081/“,主持人:”clinicaltrials-env.elasticbeanstalk.com“

这是我的package.json文件

{
"name": "Clinical_Trial_Analytics",
"version": "1.3.2",
"private": true,
"scripts": {
    "start": "node main.js"
  },
"dependencies": {
    "express": "3.0.6",
    "stylus": "0.31.0",
    "jade": "0.27.7",
    "mongodb": "1.2.7",
    "moment" : "1.7.2",
    "emailjs": "0.3.3",
    "json2html": "1.0.0"
},
"engines": {
    "node": "0.12.0",
    "npm":  "1.1.65"
}
}

这是我的main.js文件

var express = require('express');
var http = require('http');
var app = express();

app.configure(function(){
app.set('port', process.env.PORT || 8080);
app.set('views', __dirname + '/server/views');
app.set('view engine', 'jade');
app.locals.pretty = true;

app.use(express.bodyParser());
app.use(express.cookieParser());
app.use(express.session({ secret: 'super-duper-secret-secret' }));
app.use(express.methodOverride());
app.use(require('stylus').middleware({ src: __dirname + '/client' }));
app.use(express.static(__dirname + '/client'));
});

app.configure('development', function(){
app.use(express.errorHandler());
});

require('./server/router')(app);

http.createServer(app).listen(app.get('port'), function(){
console.log("Clinical Trials server listening on port " +  app.get('port'));
})

我无法弄清楚这个问题。它是节点版本还是其他任何问题?提前谢谢。

1 个答案:

答案 0 :(得分:0)

在beantalk应用程序的“配置修改软件”部分添加Node命令很重要,我可以在您的应用程序中看到您正在使用命令启动,因此将其用作节点命令“ npm start”可以正确启动您的应用程序,使用文件夹和文件bin / www启动Nodejs服务器时也会发生这种情况。