简介
因为某些原因之前的的博客域名www.bboysoul.com被dns污染了,导致原本经营起来的博客流量现在全没有了,为了是我新域名可以长长久久,所以我现在做事的风格就是可以使用国外服务的,就尽量使用国外服务。
我的博客一直是使用hexo生成的静态页面,所以对服务器的要求不是很大,之前使用www.bboysoul.com这个域名的时候因为备过案,所以使用过阿里云的oss一段时间,用了bboy.app这个域名之后就一直扔在azure的虚拟机上,因为azure貌似不是特别稳定,所以今天就想直接扔在aws的s3上,然后加上cloudflare的cdn
s3配置
和oss一样s3开始使用的时候也是要创建bucket的,但是要注意的是要创建和域名一样的两个bucket,比如我的域名是bboy.app那么就要创建bboy.app和www.bboy.app两个bucket
创建完成之后设置bboy.app这个bucket权限阻止公共访问权限全部关闭,如下图
之后点击权限->存储桶策略,写入
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "PublicReadGetObject",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::bboy.app/*"
}
]
}
注意修改Resource,把bboy.app改为你的bucket名字
修改完成之后你就会发现访问这里变成了公有
接着设置属性->静态网站托管,设置成如下
之后设置www.bboy.app这个bucket和bboy.app这个bucket一样阻止公共访问权限全部关闭,然后点属性->静态网站托管设置成如下
到这里为止s3部分设置完成
cloudflare配置
因为要配置网站的https还有自己的域名还有网站的cdn,所以要用到cloudflare,把网站接到cloudflare要从域名注册商那里把域名的dns服务器改为cloudflare的,所以生效可能要一点时间,这个不在今天的重点范围之内,今天的重点是配置域名的cname解析
bboy.app这个域名的cname解析就是s3给你的那个域名,之后www.bboy.app的cname解析你直接解析到bboy.app就可以了,要注意的是两个域名都要过cloudflare的cdn,配置如下
上传网站到s3
这个就很简单了,直接使用aws的命令行上传就可以了
安装awscli
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple awscli
生成配置文件
aws configure
按照提示输入对应的aws_access_key_id等,output直接写json就好了
接着上传
aws s3 cp public s3://bboy.app/ --recursive
上面就是上传一个public文件夹到bboy.app这个bucket的例子
欢迎关注我的博客www.bboy.app
Have Fun