阿里云 OSS 静态站点托管:从 0 到 1 部署博客教程
前言
在现代Web开发中,静态站点因加载速度快、维护成本低等优势被广泛应用。本文将详细介绍如何利用阿里云 OSS(对象存储服务) 托管静态博客,涵盖从存储桶创建到域名证书配置的完整流程,即使是新手也能轻松上手。
一、服务器选择说明
本站采用 阿里云 OSS 对象存储 进行静态站点托管。相较于传统服务器,OSS 具备以下优势:
- 高可用性:数据多副本存储,可靠性达 99.999999999%(11个9);
- 低成本:按实际存储量和流量计费,无需为闲置资源付费;
- 易扩展:支持无缝扩容,无需担心访问量增长带来的性能问题;
- 原生支持静态托管:内置静态网站托管功能,无需额外配置Web服务器。
二、详细操作步骤
1. 创建 OSS 存储桶
存储桶(Bucket)是 OSS 中用于存储数据的基本单元,所有静态文件都将存放在这里。
- 登录 阿里云控制台,在左侧导航栏找到并进入「对象存储 OSS」服务;
- 点击页面右上角的「创建 Bucket」,按以下要求配置参数:
- Bucket 名称:自定义(需全局唯一,建议与站点域名相关,例如本站的
keatsu-top
); - 地域:优先选择离目标用户最近的区域(如目标用户在华东,可选择「上海」),降低访问延迟;
- 存储类型:选择「标准存储」(适合访问频率高的静态资源,如博客页面、图片);
- 读写权限:必须设置为「公共读」(若设为私有,用户将无法访问站点内容);
- 注意:创建时「读写权限」选项默认不可修改,只能创建后调整。进入 Bucket 的「权限管理」->「读写权限」页面修改;
- 其他参数保持默认,确认无误后点击「确定」完成创建。
- Bucket 名称:自定义(需全局唯一,建议与站点域名相关,例如本站的
2. 上传博客文件
博客文件需先在本地构建(如使用 Astro、Hexo 等框架生成 dist
目录),再上传至 OSS 存储桶。以下提供两种上传方式,推荐使用「官方工具」提高效率。
方式 1:手动上传(适合文件量少的场景)
- 进入已创建的 Bucket,点击左侧菜单「文件管理」->「文件列表」;
- 点击页面上方的「上传文件」按钮,在弹出的窗口中点击「扫描文件」;
- 打开本地博客项目的
dist
目录,选中所有文件(需保持原有的目录结构,如css/
、js/
、index.html
等); - 确认文件选择无误后,点击「上传文件」,等待上传完成(可在页面下方查看上传进度)。
方式 2:官方工具 ossutil
上传(推荐,适合批量/频繁更新,可以保留目录结构)
ossutil
是阿里云官方提供的命令行工具,支持批量同步文件,效率更高,步骤如下:
-
安装
ossutil
参考 阿里云官方文档,根据本地操作系统(Windows/macOS/Linux)下载对应的安装包,完成安装后配置环境变量(确保终端可直接调用ossutil
命令)。 -
配置访问凭证
访问凭证是ossutil
操作 OSS 的权限证明,需先在阿里云控制台创建:- 进入 RAM 访问控制 页面,点击左侧「身份管理」->「用户」;
- 点击「创建用户」,输入「登录名称」和「显示名称」,勾选「编程访问(使用 AccessKey 访问)」,点击「确定」;
- 在弹出的「用户 AccessKey 信息」页面,复制 AccessKey ID 和 AccessKey Secret(⚠️ 仅显示一次,建议保存到本地文档);
- 回到「用户」列表,点击刚创建的用户,进入「权限管理」页面,点击「添加权限」;
- 在权限列表中搜索并勾选「AliyunOSSFullAccess」(OSS 全权限,确保可上传/管理文件),点击「确定」完成授权。
-
执行同步命令
打开终端,进入本地博客项目的dist
目录所在路径,执行以下命令(将your-bucket-name
替换为你的 Bucket 名称,region
替换为 Bucket 所在地域,如oss-cn-shanghai
):Terminal window # 同步本地dist目录到OSS(-r 表示递归同步所有子目录和文件)ossutil sync ./dist oss://your-bucket-name -r执行成功后,终端会显示同步的文件数量和状态,等待完成即可。
3. 配置静态网站托管
上传文件后,需开启 OSS 的静态网站托管功能,让存储桶能识别并解析静态页面。
- 进入目标 Bucket,点击左侧菜单「数据管理」->「静态页面」;
- 点击「设置」按钮,配置以下核心参数:
- 默认首页:填写
index.html
(静态站点的入口页面,必须与dist
目录中的首页文件名一致); - 错误页面:填写
404.html
(当用户访问不存在的页面时显示,Astro 等框架会默认生成,若未生成需自行创建); - 其他选项(如「重定向规则」「自定义响应头」)保持默认,无需修改;
- 默认首页:填写
- 点击「保存配置」,此时 OSS 已具备静态站点托管能力。
4. 配置自定义域名
重要提醒:根据阿里云 最新规定,自 2018 年 8 月 13 日起,使用 OSS 默认域名访问中国大陆、中国香港地区的网页类型文件(如
html
、htm
)时,浏览器会自动触发文件下载(而非显示页面)。因此,必须绑定已备案的自定义域名才能正常访问站点。
操作步骤如下:
- 进入 Bucket 左侧菜单「Bucket 配置」->「域名管理」;
- 点击「绑定域名」按钮,在弹出的窗口中输入你的自定义域名(如
keatsu.top
); - 按提示完成域名备案(若域名未备案,需先进入 阿里云备案系统 完成备案);
- 备案小贴士:备案时需填写「网站接入信息」,若没有 ECS 服务器,可暂时填写阿里云名下的其他产品(如轻量应用服务器),OSS 暂不支持直接作为接入信息。
- 域名绑定完成后,阿里云会提供对应的 CNAME 记录值,需前往你的域名解析平台(如阿里云 DNS、腾讯云 DNS)添加 CNAME 解析(将自定义域名指向该 CNAME 值),解析生效时间通常为 10-30 分钟。
5. 添加 SSL 证书(实现 HTTPS 安全访问)
若未配置 SSL 证书,用户通过 http
访问站点时,浏览器会提示「链接不安全」并阻止访问。以下介绍如何使用阿里云免费 SSL 证书(有效期 3 个月,可重复申请)。
- 回到 Bucket 的「域名管理」页面,找到已绑定的自定义域名,点击操作列的「证书托管」;
- 在证书配置页面,点击「上传 SSL 证书」,然后切换到「个人测试证书(原免费证书)」选项卡;
- 点击「立即购买」,按提示完成订单提交(免费证书无需付费,仅需完成身份验证);
- 证书申请通过后,系统会自动完成配置,此时访问自定义域名时,浏览器地址栏会显示「小绿锁」,表示 HTTPS 已生效。
补充说明:若需更长有效期的证书(如 1 年),可在阿里云 SSL 证书服务中选择付费证书,按指引完成购买和配置。
三、验证部署结果
完成以上所有步骤后,打开浏览器,输入你的自定义域名(如 https://keatsu.top
),若能正常显示博客首页,且点击链接无 404 错误,则说明部署成功。
若遇到问题,可优先排查以下点:
- 存储桶「读写权限」是否为「公共读」;
- 自定义域名的 CNAME 解析是否生效;
- SSL 证书是否已配置并生效;
- 上传的文件是否完整(如
index.html
是否存在于 Bucket 根目录)。