簡體   English   中英

如何將node.js應用程序部署到AWS Elastic Beanstalk中

[英]How to deploy a node.js app into AWS Elastic Beanstalk

我試圖通過AWS Console在AWS Elastic Beanstalk中部署示例Nodejs應用程序。我的Nodejs應用程序僅包含HelloWorld消息。 我的問題是當我單擊Elastic Beanstalk URL時沒有收到Hello world Message 我還檢查了日志,但是Nodejs.logs和Error.logs中沒有錯誤消息。 當我檢查Elastic Beanstalk URL是否收到“由於內部服務器錯誤而拒絕連接”時 我使用JSON模板通過控制台創建Stack,我的模板包含Application,Application版本,Environment和ConfigurationTemplate資源類型。我的ConfigurationTemplate資源類型包含以下OptionSettings,如下所示-

"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 Applicaton-

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來部署應用程序。

我將檢查安全組允許的端口8081(或其他端口)上的連接

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM