本文介绍了如何使用亚马逊 S3 托管静态网站,包括设置 AWS 账户、安装 AWS CLI 及创建 S3 桶的步骤,适合前端开发者和网站管理员参考。
我们强烈推荐使用 Baklib 发布平台(Baklib CMS)的前端托管和部署平台。通过 Baklib 发布平台,您可以在开始项目时轻松连接到 GitHub 代码库。
亚马逊简单存储服务(S3),是亚马逊网络服务的一部分,提供了可扩展、基于云的存储服务。S3 可用于备份数据及应用在线存储。您还可以使用 S3 来托管或部署静态网站。在本指南中,我们将查看如何将静态网站托管到 S3。
在开始之前,请确保您已经在一个本地主机上运行着 Gatsby(前端)和 Baklib(后端)的网站。我们建议您按照 Build a Sample Website Using Gatsby and Baklib 指引进行操作,准备好您的网站。
要将我们的网站托管到 S3,首先需要生成访问密钥 ID 和秘密访问密钥。为此,您需要一个拥有行政权限 IAM 账户,并且在亚马逊 Web 服务(AWS)登录管理控制台中具有权限。假设您已经在 AWS 中配置了所需的权限并登录到AWS 管理控制台,请执行以下步骤:
在AWS管理控制台屏幕中,点击用户名,在菜单栏选择My Security Credentials。在Security Credentials页面展开Access keys (访问密钥 ID 和秘密访问密钥)选项,点击Create New Access Key按钮后显示密钥。
确保保存这些密钥。您将在配置AWS CLI下一步骤中需要它们。您可以下载密钥文件以存储这些密钥。
现在让我们安装并配置 AWS CLI。要从终端(或命令提示符)部署网站,请在Ubuntu/Windows上配置AWS CLI:
对于Ubuntu,在终端中执行以下命令:
```bash
```
对于 Windows,下载AWS CLI MSI安装程序并配置。
此外的资源:有关Windows安装的信息,请参阅AWS CLI文档。
或者,如果您已安装了Python 3版本,可以运行以下命令来安装AWS CLI:
一旦安装完成AWS CLI,可以在终端中验证其安装:
在终端中执行上述命令后,它会显示AWS CLI已按指定版本安装到您的系统上。
安装完成后,在终端中配置AWS CLI,请运行以下命令:
它将询问输入“访问密钥 ID”和“秘密访问密钥”,如下图所示:
该命令还要求输入默认区域和输出格式。您可以跳过此提示,按下回车键。
这些步骤已为AWS CLI进行了配置。
在S3中创建一个桶会将您的网站数据存储在那里。要创建S3桶,请执行以下步骤:
从服务下拉菜单(顶部)选择S3。
在亚马逊S3页面上,点击“创建桶”按钮。
创建桶页面供您配置如下内容:
桶名:为您的 bucket 输入一个全局唯一的名字。
AWS地区:选择您希望创建桶的区域。
在“针对该桶的公开访问设置”部分,取消选中“完全阻止所有公开访问”。
请注意以下警告信息(S3中的对象将变得公开)。
继续页面底部,点击“创建桶”。
您已成功创建了S3桶。接下来让我们开始部署过程。
假设您有一个Gatsby网站,请执行以下步骤进行部署:
打开终端(或命令提示符),指向项目根目录,安装gatsby S3插件,请运行以下命令:
```bash
```
打开gatsby-config.js文件,在players数组中添加如下代码片段:
将S3桶的名称作为 bucketName 参数值。
请参考下图理解代码的位置:
前往package.json文件,向scripts部分添加部署脚本:
请参考下图理解代码位置:
在项目根目录终端中进行生产准备,请执行以下命令:
```bash
```
成功构建后,在终端中执行以下命令进行部署:
```bash
```
一旦部署完成,您会获得一个类似于此链接的页面:
Baklib 是一个内容管理系统 (CMS),它使所有团队能够在任何数字渠道上创建和扩展现代内容体验。
💛🧡🧡客户评价:我们的IT团队需要一个存储库进行知识管理,以便我们的团队知识可以传承下去。在此外,我们正在寻找一种解决方案,使我们能够提供为我们的团队成员提供自助服务。Baklib提供了一个易于部署的低成本的解决方案,超出了我们的预期。优秀的知识管理平台。