0

我希望在单个 S3 存储桶上为人们托管多个站点。我知道可以使用 Cloudfront 和 HAProxy 将人们引导到 S3 存储桶上的特定位置。我的问题是,即时构建反应应用程序,然后将“构建”文件夹发送到 S3 的最佳方法是什么?

这甚至可能吗?我想这更多的是在给定资源的情况下执行此操作的有效方法。我是否需要设置自己的服务器,或者是否有一些使用 Lambda 等的无服务器方式?

4

1 回答 1

1

@bearsworth 使用名为AWS Amplify的工具很容易在 S3 上托管 React 应用程序。需要澄清的一件事是您为什么要从同一个存储桶托管多个站点?
使用放大,您可以从以下内容开始:

npx create-react-app myappname

然后安装放大及其反应工具:

npm i -s aws-amplify aws-amplify-react

下次运行(按照提示):

放大配置

其次是:

amplify init
然后转到 AWS 控制台并搜索 Amplify。您将看到类似这样的屏幕,其中说充分利用 Amplify 控制台完成第二步以链接您的域名。单击添加带有免费 SSL 证书的自定义域链接。它应该看起来像这样您还可以将分支连接到您最喜欢的代码存储库并参加比赛!!! 您的请求的缺点是每个站点都位于单独的
5 个步骤中的蓝色区域 1 已完成

连接您的域

S3 存储桶。Amplify 是一个无服务器平台,因此需要零个 EC2 实例。走这条路每月为我节省了数百美元的基础设施成本。Amplify 平台消除了配置实例、Kubernetes 集群、DNS 配置、API 开发、身份验证流和存储检索的压力。对于全栈 React 开发人员,我觉得这是一个很好的资源。
一些可以尝试的功能是:
Amplify 添加存储
Amplify add API
Amplify add hosting
Amplify add Auth

快乐编码

于 2020-04-10T00:58:35.767 回答