【问题标题】:Deploy React + Express on AWS在 AWS 上部署 React + Express
【发布时间】:2019-01-02 22:25:33
【问题描述】:

我对 AWS 和 Web 开发还很陌生,所以如果我的问题看起来很愚蠢,请多多包涵。

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

我的问题是,我如何在生产环境中访问(如进行 ajax 调用)到 React 应用程序内的 Express 服务?只需将任何 ajax 调用附加到服务地址?

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

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

有人知道哪种解决方案更好吗?

【问题讨论】:

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


    【解决方案1】:

    嗯,最好的解决方案是更适合您需求的解决方案。例如,如果您需要服务器端渲染,最好将您的 React 应用程序添加到当前保存您的 express 应用程序的 EC2;除此之外,我会继续为您编译的 React 应用程序使用 S3 存储桶。如果您担心性能/延迟,您可以使用AWS Cloudfront 来改进这些时间。

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

    澄清一下,您的 EC2 和 S3 存储桶位于不同的机器上。

    【讨论】:

    • 感谢 Rodrigo,我将尝试从 React on S3 到 Express 的 Ajax 调用。
    猜你喜欢
    • 1970-01-01
    • 2020-07-08
    • 1970-01-01
    • 1970-01-01
    • 2019-04-09
    • 2016-12-20
    • 1970-01-01
    • 2017-05-06
    • 2018-05-15
    相关资源
    最近更新 更多