手把手教你搭建博客
由于 github 访问不太稳定,觉得将博客迁移到 AWS 上。可以借助 AWS 存储的功能。
为什么选择 hexo
生成页面速度快
支持 markdown
一键部署
超强的扩展性
海量的插件
创建博客
这短短的几步,博客便创建成功了。
安装部署工具
AWS 使用指南
AWS 存储介绍
S3 是一种对象存储服务,提供行业领先的可扩展性、数据可用性、安全性和性能。首年使用会有 5 GB 的免费存储空空间。
接下来,就需要我们在 aws 上创建存储。
创建存储桶
保存后
此时,更新 deploy 配置
凭证
凭证的作用是为了获得 aws s3 存储的控制权限,便于部署静态网站。进入官方文档,需要生成凭证、配置策略、配置凭证。
生成凭证
登录 AWS Management Console,单击 https://console.aws.amazon.com/iam/ 打开 IAM 控制台。
在导航窗格中,选择 Users (用户)。
选择要为其创建访问密钥的用户的名称,然后选择 Security credentials (安全凭证) 选项卡。
在 Access keys(访问密钥) 部分,选择 Create access key (创建访问密钥)。
要查看新访问密钥对,请选择 Show (显示)。关闭此对话框后,您将无法再次访问该秘密访问密钥。您的凭证与下面类似:
访问密钥 ID:AKIAIOSFODNN7EXAMPLE
秘密访问密钥:wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
要下载密钥对,请选择 Download .csv file (下载 .csv 文件)。将密钥存储在安全位置。关闭此对话框后,您将无法再次访问该秘密访问密钥。
下载
.csv
文件之后,选择 Close (关闭)。在创建访问密钥时,预设情况下,密钥对处于活动状态,并且您可以立即使用此密钥对。
凭证生成后,还必须拥有执行所需 IAM 操作的权限。具体配置流程,请参阅 IAM 用户指南中的访问 IAM 资源所需的权限,下面是我配置的相关策略
配置策略
配置凭证
aws 提供多种配置凭证的方式
从加载 AWS Identity and Access Management 适用于 Amazon EC2 的 (IAM) 角色
从共享凭证文件 (
~/.aws/credentials
) 加载从环境变量加载
从磁盘上的 JSON 文件加载
JavaScript 开发工具包提供的其他 credential-provider 类
我采取了方式 2 ,从共享凭证文件 (~/.aws/credentials
) 加载
看文档发现,可以通过 AWS CLI 配置凭证,安装操作官方文档很详细看这里,我们重点介绍下配置凭证的过程。
首次安装成功,命令行执行 aws configure
配置如下:
配置成功后,同样会在 ~/.aws/credentials
文件中创建对应的字段
至此,配置完成。
部署
发现报错,The bucket does not allow ACLs
,还需要在存储中开启 ACLs
接下来要关闭「阻止共有访问操作」
再执行 npm run deploy
,部署成功
访问配置
部署成功后,开启静态网站托管功能
访问域名 http://robinblog.s3-website-ap-northeast-1.amazonaws.com/ 成功
总结
部署确实很方便,但文档还是不太完善,文档中提到「获取凭证」的操作,其中配置 IAM 操作权限也是关键步骤,在文档中确一笔带过,如下图:
在这块花费了不少时间。
评论