在AWS上部署React + Express

问题描述 投票:2回答:1

我对AWS和Web开发都很陌生,所以如果我的问题看起来很傻,请耐心等待。

  1. 我通过AWS codestar部署了Express服务。服务地址是myservice.ap-southeast-2.elasticbeanstalk.com
  2. 在S3存储桶上部署了react应用程序。

我的问题是,如何在生产环境中的React app中访问Express服务(如make ajax call)?只需附加服务地址的任何ajax调用?

s3存储桶React应用程序是由AWS codestar创建的,这是否意味着React和Express在同一台机器上?我的意思是如果他们在同一台机器上,ajax调用会更快,对吧?

另一种选择是,由于Codestar实例化了EC2,我可以将React部署到EC2中。因此,EC2上的Express服务于所有API请求,但对于静态文件,index.html Express直接返回已部署的React资产。

谁知道哪种解决方案更好?

node.js reactjs amazon-web-services
1个回答
3
投票

那么,最好的解决方案是更符合您需求的解决方案。例如,如果您需要服务器端渲染,最好将React应用程序添加到当前持有Express应用程序的EC2中;除此之外,我会继续使用S3 bucket作为编译的React应用程序。如果您关心性能/延迟,可以使用AWS Cloudfront来改善这些时间。

要访问Express应用程序,请在ajax调用中调用应用程序的IP(在AWS控制台> EC2>您的实例> IPv4公共IP或公共DNS(IPv4)作为主机。

只是为了澄清,您的EC2和S3存储桶位于不同的机器中。

© www.soinside.com 2019 - 2024. All rights reserved.