在AWS上部署反应Web应用程序

我期待在AWS上部署我的nodejs React Web应用程序。 目前,我在微软的Azure上部署了我的应用程序,这非常简单。 我只需要添加一个应用程序服务,并给我的git存储库作为源。 这照顾了托pipe我的应用程序。 我没有办法像在AWS上那样做。 我正在寻找类似的东西。 我应该如何在AWS中做到这一点?

您可以使用AWS Elastic Beanstalk进行此操作。 Elastic Beanstalk是PaaS产品,它是一个易于使用的服务,用于在Java,.NET,PHP,Node.js,Python,Ruby,Go和Docker等熟悉的服务器上部署和扩展Web应用程序和服务,如Apache ,Nginx,Passenger和IIS。 它与Microsoft Azure应用程序服务类似。

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

您可以通过教程来在这里部署您的node.js应用程序 – 将Express应用程序部署到Elastic Beanstalk

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

npm install -g awsmobile-cli 

然后初始化并发布:

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

这将设置一个configuration为CDN的CloudFront的S3存储桶来托pipe您的networking资产。 您的NodeJS应用程序可以托pipe在受API网关保护的Lambda函数中。 从客户端configuration连接和授权的一个好方法是在您的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