【发布时间】:2015-07-17 15:35:01
【问题描述】:
我正在尝试通过 AWS 控制台在 AWS Elastic Beanstalk 中部署示例 Nodejs 应用程序。我的 Nodejs 应用程序仅包含 HelloWorld 消息。 我的问题是单击 Elastic Beanstalk URL 时没有收到 Hello world 消息。我还检查了日志,但 Nodejs.logs 和 Error.logs 中没有错误消息。 当我检查 Elastic Beanstalk URL 时收到 "Connection Refused-due to Internal Server Error" 。我正在使用 JSON 模板通过控制台创建堆栈,我的模板包含应用程序、应用程序版本、环境和 ConfigurationTemplate 资源类型。我的 ConfigurationTemplate 资源类型 包含以下选项设置,如下所示-
"OptionSettings": [
{
"Namespace": "aws:autoscaling:asg",
"OptionName": "MinSize",
"Value": "1"
},
{
"Namespace": "aws:autoscaling:asg",
"OptionName": "MaxSize",
"Value": "2"
},
{
"Namespace": "aws:autoscaling:launchconfiguration",
"OptionName": "EC2KeyName",
"Value": { "Fn::FindInMap": [ "Environments",{"Ref": "EnvironUsed"},"InstanceKeyName" ] }
},
{
"Namespace": "aws:autoscaling:launchconfiguration",
"OptionName": "IamInstanceProfile",
"Value": {"Fn::FindInMap": ["Environments",{"Ref": "EnvironUsed"},"IamRoleProfile"]}
},
{
"Namespace": "aws:autoscaling:launchconfiguration",
"OptionName": "InstanceType",
"Value": "t2.micro"
},
{
"Namespace": "aws:autoscaling:launchconfiguration",
"OptionName": "SecurityGroups",
"Value": { "Fn::FindInMap": [ "Environments",{"Ref": "EnvironUsed"},"BeanstalkSecurityGroup" ] }
},
{
"Namespace": "aws:ec2:vpc",
"OptionName": "VPCId",
"Value": { "Fn::FindInMap": ["Environments", {"Ref": "EnvironUsed"},"VPC" ]}
},
{
"Namespace": "aws:ec2:vpc",
"OptionName": "Subnets",
"Value": { "Fn::FindInMap": [ "Environments",{"Ref": "EnvironUsed"},"PrivateSubnet"]}
},
{
"Namespace": "aws:ec2:vpc",
"OptionName": "ELBSubnets",
"Value": { "Fn::FindInMap": [ "Environments", {"Ref": "EnvironUsed"}, "PrivateSubnet" ]}
},
{
"Namespace": "aws:ec2:vpc",
"OptionName": "ELBScheme",
"Value": "internal"
},
{
"Namespace": "aws:elasticbeanstalk:environment",
"OptionName": "EnvironmentType",
"Value": "LoadBalanced"
},
{
"Namespace": "aws:autoscaling:trigger",
"OptionName": "MeasureName",
"Value": "CPUUtilization"
},
{
"Namespace": "aws:autoscaling:trigger",
"OptionName": "Unit",
"Value": "Percent"
},
{
"Namespace": "aws:autoscaling:trigger",
"OptionName": "UpperThreshold",
"Value": "50"
},
{
"Namespace": "aws:autoscaling:trigger",
"OptionName": "LowerThreshold",
"Value": "49"
}
],
以下是我的示例 Nodejs 应用程序 -
var express = require('express');
var http=require('http');
var app = express();
app.set('port', process.env.PORT || 8081);
app.get('/',function(req,res){
res.send('Hello World');
});
http.createServer(app).listen(app.get('port'), function () {
console.log('Express server listening on port ' + app.get('port'));
});
由于我对这个 AWS 服务比较陌生,请指导我如何解决这个错误,因为我按照 AWS 文档中给出的所有说明来创建这个 Elastic Beanstalk 来部署应用程序。
【问题讨论】:
-
请回答这个问题。
-
我也有这个问题,有解决办法吗?
标签: node.js amazon-web-services amazon-elastic-beanstalk