1602 字
8 分钟

网站打开太慢?可能是少了这一步

[导读] 网站打开总是比别人的慢,明明没什么东西,打开也要几秒钟,图片也一直出不来,那就要检查下有没有做静态资源加速。

接着上一篇《不买服务器,怎么低成本搭建一个个人网站?》,你的低成本网站已经建好了。现在它是一个纯静态网站,直接托管在 OSS 里,配置好域名解析就能使用。

有没有想过一个问题:OSS 选择的是上海地域,那在比较远的地方,比如新疆、西藏访问,会不会比较慢?高峰时期访问量太大,网站又会不会卡?

为了改善这些问题,可以给网站配置一个 CDN,也就是内容分发网络。CDN 已经是网站里很基础的概念了,但根据我的经历,仍然有不少网站没有使用 CDN,打开需要等几秒钟。

用户通过 CDN 访问网站,大致是下面这个流程。

源站只有一个,大家都去访问,可能会遇到速度或压力问题。不知道大家有没有这种体验:别人刷视频挺快,到我这里就卡了,访问其他 App 又没问题,就这个不行。这有可能是当前连接的 CDN 节点的问题。

简单地说,CDN 用大量节点来分担源站压力,同时缩短用户获取资源的距离。阿里云的 CDN 在全球有 3200 多个节点,实际体验还会受到网络线路和缓存情况的影响。

1. 从 OSS 进入 CDN 配置#

还是从 OSS 里面开始配置 CDN,有些信息会自动关联过去。

打开 OSS 控制台(https://oss.console.aliyun.com),找到网站所在的 Bucket,进入「域名管理」。可以看到 CDN 还没有配置,点击该入口进入配置。

2. 填写 CDN 加速域名#

在 CDN 域名配置页面选择加速区域,根据实际业务情况考虑要不要全球加速。国内和国外的流量费用可能不同,没有对外访问要求的话,可以像我一样选择「仅中国内地」。

填写网站域名后,页面会提供 DNS 解析验证所需的 TXT 主机记录和记录值。页面也提示,加速区域包含中国内地时,域名需要备案。

3. 添加 TXT 记录验证域名#

这里没有自动配置解析,那就手动配置一下。打开域名列表,找到对应域名,点击「解析」。进入解析设置后,点击「添加记录」。

记录类型选择 TXT,主机记录和记录值按 CDN 页面给出的内容填写,然后保存。截图中的主机记录为 verification,实际以自己的验证页面为准。

4. 提交域名配置#

回到 CDN 配置页面进行验证。截图中的业务类型为「图片小文件」,源站类型为 OSS。检查源站信息,勾选页面上的承诺后,点击「下一步」。

成功页面忘记截图了,应该就是正常的成功提示。

5. 修改网站域名解析#

之前网站域名 www 的解析指向 OSS 源站。现在使用 CDN,就要把它改为指向 CDN。

在 CDN 域名管理中找到新添加的域名,CNAME 状态显示「待配置」。打开配置向导,复制 CDN 分配的 CNAME 记录值。

回到 DNS 解析设置,修改网站域名已有的 CNAME 记录,将记录值改为 CDN 配置向导提供的地址并保存。截图中的主机记录为 www,实际操作以自己的域名和 CDN 记录值为准。

6. 检查 CDN 域名状态#

返回 CDN 域名管理,等待解析生效并刷新状态。截图中 CNAME 状态显示「已配置」,域名状态显示「正常运行」。

此时截图中的 HTTPS 仍显示「未开启」,还需要另行检查证书和 HTTPS 配置。

7. 设置流量封顶#

回到配置列表,记得考虑加一个流量限制。访问网站产生的流量会影响账单。正常情况下这个费用非常低,1 GB 流量 1 毛多吧,够几百次访问了;但也要防止恶意刷流量的情况。

有时候我也很难理解,为什么这种网站也有人恶意刷。所以加个封顶限制很有必要,防止哪天一觉醒来账户欠费了。流量阈值根据自己的实际情况设置就行。

我这边流量封顶已开启,统计周期为每小时,阈值为 1 GB,解封时间为 1 小时。触发封顶后域名会下线,阈值设得太低,正常访问也可能受到影响。

8. 检查 OSS 配置状态#

现在可以回到 OSS 列表,打开对应 Bucket 的「域名管理」。上面 CDN 加速显示「已配置」,说明控制台已经显示接入状态。实际访问是否经过 CDN、资源是否命中缓存,还需要通过请求和响应头进一步检查。

9. 看看 CDN 能带来什么#

虽然配置起来麻烦了点,但好处是实在的。你买一台云服务器,配置和淘宝、京东这些天差地别,但用了 CDN,至少在图片、文件等静态资源这块访问是接近的。新增了CDN费用,但实际上会让整个费用更低,以上一篇提到的价格为例,正常访问OSS源站是0.5元/G,CDN的费用只需要0.15元/G,加上源站回流也少很多,是不是运营费用又可以省不少。

本来只是域名备案流程的记录,没想到写偏了。主要是想尽量写全、写详细一点,结果发现篇幅太长,就把每一个点拿出来写一篇,希望也能给不同阶段的人带来一点帮助。

下一篇继续介绍 HTTPS 的配置,这也是网站访问的基本要求,同样走低成本、省钱、便捷的路线。

感兴趣的朋友可以关注我的公众号。我会持续更新相关技术内容,后面也会分享用 AI 开发程序或网站的系列教程,希望能给刚接触 AI 编程或想用 AI 提效的朋友一些帮助。