因为 github 拜访不太稳固,感觉将博客迁徙到 AWS 上。能够借助 AWS 存储的性能。
为什么抉择 hexo
- 生成页面速度快
- 反对 markdown
- 一键部署
- 超强的扩展性
- 海量的插件
创立博客
# 装置
npm install hexo-cli -g
# 创立博客
hexo init myblog
cd myblog
npm install
# 本地运行
hexo server
这短短的几步,博客便创立胜利了。
装置部署工具
# 装置
npm install hexo-deployer-aws-s3 --save-dev
# 将部署配置放入 _config.yml
deploy:
type: aws-s3 # 插件的名字
region: us-east-1 # 存储桶所在区域
bucket: my-bucket # 存储桶名字
AWS 使用指南
- 注册地址:https://aws.amazon.com/cn/fre…
- 实操文档:https://aws.amazon.com/cn/get…
AWS 存储介绍
S3 是一种对象存储服务,提供行业当先的可扩展性、数据可用性、安全性和性能。首年应用会有 5 GB 的收费存储空空间。
接下来,就须要咱们在 aws 上创立存储。
创立存储桶
保留后
此时,更新 deploy 配置
# 将部署配置放入 _config.yml
deploy:
type: aws-s3 # 插件的名字
region: ap-northeast-1 # 存储桶所在区域
bucket: robinblog # 存储桶名字
凭证
凭证的作用是为了取得 aws s3 存储的管制权限,便于部署动态网站。进入官网文档,须要生成凭证、配置策略、配置凭证。
生成凭证
- 登录 AWS Management Console,单击 https://console.aws.amazon.co… 关上 IAM 控制台。
- 在导航窗格中,抉择 Users (用户)。
- 抉择要为其创立拜访密钥的用户的名称,而后抉择 Security credentials (平安凭证) 选项卡。
- 在 Access keys(拜访密钥) 局部,抉择 Create access key (创立拜访密钥)。
- 要查看新拜访密钥对,请抉择 Show (显示)。敞开此对话框后,您将无奈再次拜访该机密拜访密钥。您的凭证与上面相似:
- 拜访密钥 ID:AKIAIOSFODNN7EXAMPLE
- 机密拜访密钥:wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
- 要下载密钥对,请抉择 Download .csv file (下载 .csv 文件)。将密钥存储在平安地位。敞开此对话框后,您将无奈再次拜访该机密拜访密钥。
- 下载
.csv
文件之后,抉择 Close (敞开)。在创立拜访密钥时,预设状况下,密钥对处于活动状态,并且您能够立刻应用此密钥对。
凭证生成后,还必须领有执行所需 IAM 操作的权限。具体配置流程,请参阅 IAM 用户指南中的拜访 IAM 资源所需的权限,上面是我配置的相干策略
配置策略
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"s3:*",
"s3-object-lambda:*"
],
"Resource": "*"
}
]
}
配置凭证
aws 提供多种配置凭证的形式
- 从加载 AWS Identity and Access Management 实用于 Amazon EC2 的 (IAM) 角色
- 从共享凭证文件 (
~/.aws/credentials
) 加载 - 从环境变量加载
- 从磁盘上的 JSON 文件加载
- JavaScript 开发工具包提供的其余 credential-provider 类
我采取了形式 2,从共享凭证文件 (~/.aws/credentials
) 加载
[default]
aws_access_key_id = <YOUR_ACCESS_KEY_ID>
aws_secret_access_key = <YOUR_SECRET_ACCESS_KEY>
看文档发现,能够通过 AWS CLI 配置凭证,安装操作官网文档很具体看这里,咱们重点介绍下配置凭证的过程。
首次装置胜利,命令行执行 aws configure
配置如下:
配置胜利后,同样会在 ~/.aws/credentials
文件中创立对应的字段
至此,配置实现。
部署
`# 构建
npm run build
部署
npm run deploy`
发现报错,The bucket does not allow ACLs
,还须要在存储中开启 ACLs
接下来要敞开「阻止共有拜访操作」
再执行 npm run deploy
,部署胜利
拜访配置
部署胜利后,开启动态网站托管性能
拜访域名 http://robinblog.s3-website-a… 胜利
总结
部署的确很不便,但文档还是不太欠缺,文档中提到「获取凭证」的操作,其中配置 IAM 操作权限也是关键步骤,在文档中确一笔带过,如下图:
在这块破费了不少工夫。
更多实操过程可参考 https://aws.amazon.com/cn/get…