在AWS上部署react web应用程序

时间:2017-12-01 12:02:57

标签: node.js reactjs amazon-web-services amazon-s3 deployment

我希望在AWS上部署我的nodejs React Web应用程序。目前我在微软的Azure上部署了我的应用程序,而且非常简单。我只需要添加一个App Service并将我的git存储库作为它的源代码。这照顾了托管我的申请。我没有像在AWS上那样做。我正在寻找类似的东西。我应该如何在AWS中执行此操作?

2 个答案:

答案 0 :(得分:0)

您可以使用 AWS Elastic Beanstalk 。 Elastic Beanstalk是PaaS产品,它是一种易于使用的服务,用于在熟悉的服务器(如Apache)上部署和扩展使用Java,.NET,PHP,Node.js,Python,Ruby,Go和Docker开发的Web应用程序和服务。 ,Nginx,Passenger和IIS。它类似于Microsoft Azure App服务。

您可以简单地上传您的代码,Elastic Beanstalk会自动处理部署,从容量配置,负载平衡,自动扩展到应用程序运行状况监控。同时,您可以完全控制为您的应用程序提供动力的AWS资源,并且可以随时访问底层资源。

您可以在此处阅读有关部署node.js应用的教程 - Deploying an Express Application to Elastic Beanstalk

答案 1 :(得分:0)

以无服务器方式执行此操作的一种简单方法是使用新的AWS Mobile CLI:

npm install -g awsmobile-cli

然后初始化并发布:

cd ./myproj
awsmobile init #answer some questions
awsmobile publish

这将设置一个配置为您的CDN的CloudFront的S3存储桶来托管您的网络资产。您的NodeJS应用程序可以托管在受API网关保护的Lambda函数中。从客户端配置连接和授权的好方法是在React应用程序中使用AWS Amplify:

npm install aws-amplify --save
npm install aws-amplify-react --save

然后在执行Amplify.configure(your_config_object后,您可以连接到调用Lambda的API网关:

let apiName = 'MyApiName';
let path = '/path'; 
let myInit = { // OPTIONAL
    headers: {} // OPTIONAL
}
API.get(apiName, path, myInit).then(response => {
    // Add your code here
});

这将是对您的AWS资源的签名请求。

更多信息: http://docs.aws.amazon.com/aws-mobile/latest/developerguide/web-getting-started.html

相关问题