如何搭建个人网页(六)—— 阿里云OSS部署

开始

前面我们是用Gitlab Pages来托管我们的页面的,但是其也有一些缺点,比如网页访问速度慢,因此我们选择寻找其他替代方案,本章介绍用阿里云OSS来托管静态页面的方法。此外强烈建议,先看完全文再上手操作。

一 Github Pages、Gitlab Pages、服务器、OSS比较

1. Github Pages

优点:完全免费(除域名外);部署简单快捷;

缺点:国内访问加载非常缓慢,不挂梯子基本访问不了;

2. Gitlab Pages

优点:完全免费(除域名外);部署简单快捷;访问速度比github好很多,基本不需要梯子;

缺点:相比github,每次deploy后要额外在仓库传一个.gitlab-ci.yml流水线配置文件;

**备注:**nju也有个gitlab代码托管服务,但貌似无法托管静态网页(没有gitlab pages功能),只能当作一个仓库用。

3. 服务器

优点:访问速度快;

缺点:国内服务器要备案域名;部署较麻烦;付费;

4. OSS(对象存储服务)

优点:访问速度快;部署简单快捷;可以利用我们前面图床使用的oss;

缺点:同样需要备案域名;付费;

二 阿里云OSS部署hexo

为什么会想到用oss呢?这还是在oss控制台看到的提示:

image-20241213175527161

然后上网找了找教程,果然有:Hexo一键部署到阿里云OSS并设置浏览器缓存_oss cache-control-CSDN博客,于是尝试按照他的教程来。

1. 阿里云OSS配置

打开阿里云控制台,选择我们的bucket(购买oss和创建bucket参照第二章),点击左侧静态页面,安装如下配置:

image-20241213150036665

然后跟第二章一样创建一个用户(RAM控制台中),记住这里的ID和Secret,这个页面关闭就没有了!

image-20241213150502524

添加用户权限,勾选AliyunOSSFullAccess,确认。

image-20241213150449069

2. Hexo配置

然后回到我们的hexo的blog目录,执行下面命令安装所需组件:

1
npm install hexo-deployer-ali-oss-extend

打开hexo配置文件_config.yml,按照如下配置,然后保存:

1
2
3
4
5
6
7
8
9
10
11
12
deploy:
- type: ali-oss
region: oss-cn-nanjing
accessKeyId: <您的oss accessKeyId>
accessKeySecret: <您的oss accessKeySecret>
bucket: <您的bucket名>
cacheControl:
images: public, max-age=31536000
css: public, max-age=604800
js: public, max-age=86400
html: public, max-age=86400
other: no-cache

到这里,执行我们的hexo三件套命令测试是否部署成功:

1
2
3
hexo clean
hexo g
hexo d

成功后,可以通过bucket的默认域名访问,但会发现会下载文件,而不是在浏览器中浏览网站,具体原因:绑定自定义域名至Bucket默认域名实现预览文件_对象存储(OSS)-阿里云帮助中心

因此我们要绑定域名到该bucket上,这需要我们完成实名认证,同时备案域名(这个比较麻烦)

3. 域名备案

如果想要备案域名,阿里云要求我们至少有一个支持备案的云服务器(并且至少还有3个月,且不是按量计费的,因此我们甚至不能使用阿里云送的消费券),具体请查看:ICP备案前的服务器及接入信息确认排查_备案(ICP Filing)-阿里云帮助中心

但阿里云貌似有个活动,99元买ECS2核2G一年,就买这个最便宜的吧。(我既然都买ECS了,干嘛不直接部署在ECS上呢?)

image-20241213160234602

购买成功后,可以看到我们有了一个云服务器实例:

image-20241213172244144

此时我们就满足了备案域名的前置条件——拥有一个云服务器。然后我们找到阿里云首页,点击右上角备案。

image-20241213172345402

接下来按照提示操作即可,有一个地方比较麻烦,要打印承诺书签字上传,还要拍视频。哎,下楼去打印店了。

0aacaaf09d926b8696cf8f0fe05a08be

完成之后,剩下就是等待审核通过,大约需要十天。

4. 域名绑定

继续