【21】WordPress建站优化系列教程 – 部署免费CDN

(返回课程列表)

在上一节中,我们对首页的手机端进行了样式调整。

在改完了首页内容之后,我们本节可以做之前遗留的 CDN 部署了。

如果你不想看文字,可以直接点视频:

CDN 的两大好处

之前我们在第 6 节问 AI,有没有什么需要完善部署的时候,它就建议过我们部署 CDN. 后面因为页面内容更新比较频繁,就一直拖到了现在。

CDN 是什么,黄师傅就不掉书袋了,你只需要知道,它有两大好处:

  • 通过隐藏真机地址,让我们的服务器更安全;
  • 通过分发内容,让全球客户访问体验更佳;

首先细说第一个好处。之前我们验证 DNS 解析的时候,使用了命令,通过域名,就能找到绑定的服务器地址:

wordpress-tutorial-21-dnslookup

如上图所示,你能这么做,坏人也能这么做。自己的服务器 IP 地址,比起亚马逊的店铺 ID,在竞争对手的面前,其实更要命。

而当你部署了 CDN 之后,域名就可以大大方方公开了——别人再用命令查你的域名时,显示出来的 IP,就都不是你的服务器真实地址了。

再看第二个好处。之前我们买服务器的时候,地点选的洛杉矶。如果是美国客户,访问体验会非常好,因为离得近,加载延迟低。

但如果是亚太地区的客户在访问,就会因为数据包漂洋过海,出现延迟与丢包,造成他浏览网页卡顿。

而当你部署了 CDN 之后,中东的客户再访问你的网站时,它会就近匹配到当地缓存服务器,数据包也不用跑到洛杉矶了。其他地区同理。

所以 CDN 到底做了什么?

CDN 约等于海外仓

说海外仓你就懂了:你提前把自己的货运到当地,别人下单后,就近取货。

CDN 也是一样的:你提前把自己的服务器数据存储到当地,别人要访问时,也是就近交互。

逻辑就是这样:

wordpress-tutorial-21-cdn-network-illustration

看,是不是一模一样?只是你发货过去,接收者是实体仓库,你发数据过去,接收者是图中的 Cache server(缓存数据库)罢了。

我们等下要使用(白嫖)的 Cloudflare,就是干这个事情的:它在全世界都有缓存服务器,你只需要把网站解析给它,上图中的所有事情就会自动帮你搞定了。

所以你再想:

  • 海外仓是不是帮你隐藏了实际自发货地址?
  • 海外仓是不是帮你分摊了货运压力?

看,技术和生活,很多情况下都是相通的。

注册 Cloudflare

现在直接开搞吧。我们点开 Cloudflare(简称 CF,下同)的首页 https://www.cloudflare.com/, 找首页中间的 “Start for free”(“免费开始”)按钮注册:

wordpress-tutorial-21-start-now-button

如上图所示,有时候我们会看不到这个按钮。那就点击右上角的 Log in 按钮:

wordpress-tutorial-21-login-cf

接着,因为我们没注册过,再在登录界面点击下方的 Sign up:

wordpress-tutorial-21-cf-signup-entry

因为黄师傅已经注册过了,加上注册其实没啥难度,你就自己搞定吧。

注册完之后,默认是跳转到添加新网站。

添加网站

添加新网站的界面差不多长这样:

wordpress-tutorial-21-add-new-website-preface

如上图所示,因为界面经常变动,所以你的可能和黄师傅这张图有区别,不过原理都是一样的。

前面我们说过,CF 会帮我们自动分发服务器数据,但前提是,你得证明你是这个网站的主人。

那怎么证明呢?最常见,也最好实施的,就是通过 DNS 来验证。所以,我们等下在添加新网站的环节,就会需要让它扫描 DNS,并最终把自己的 Name server(域名服务器)也托管给它。

这一步,既是验证,也是授权。

好,我们具体来看添加流程:

wordpress-tutorial-21-add-new-website-options-1

如上图所示,我们默认只需要填写自己的域名(不带 www),就可以点下一步了:

wordpress-tutorial-21-choose-free-plan

如上图所示,这里会让我们选择套餐,白嫖用户请认准 “Free” 下面的按钮。接着来到下一步,检查 DNS 记录:

wordpress-tutorial-21-review-dns-records-1

如上图所示,最上面会弹出来一条警告,说它自动检测出来的记录可能会不全,需要我们仔细检查,如果有漏掉的,就要手动添加。

往下拉,我们能看到它已经自动检测出来了我们之前在域名商后台提交的 DNS 记录了:

wordpress-tutorial-21-add-new-website-options-2

如上图所示,这里你真要看下——你之前如果在第 15 节邮箱设置中使用了 MXroute,这里应该会有很多 TXT 记录,如果这里 CF 没有自动检测到,你就要点 “Add record” 按钮加过来,要不然后面会出问题。

我们检查之后,点下面的蓝色按钮,继续来到验证激活环节:

wordpress-tutorial-21-update-nameservers

如上图所示,这最后一步,它让我们把域名服务器指向过来。

这个 Nameserver(域名服务器),我们在第三节解析到 Hostinger 的时候,也提到过。它相当于一个导航数据库(整个 DNS 系统的重要一环),别人要想通过域名找到我们,就要在这个数据库里面找到我们提交的 DNS 记录。

之前,我们一直用的默认的域名服务商的 Nameserver,现在因为 CF 需要操作解析、缓存、防火墙、安全策略等等配置,就需要这个导航数据库的权限。

于是,我们就要把默认的域名服务商 Nameserver(本例是 namesilo 家的 ns1.dnsowl.com)改过来,给到 CF 家。

第一步,是登录域名服务商后台,你如果不是跟黄师傅之前的课买的,就自己进去自己的:

wordpress-tutorial-21-namesilo-login-1

如上图所示,我们先点 “My Account” 登账号。进去之后,再点 “Manage”,或者左侧的 “Domain Manager” 进入域名列表:

wordpress-tutorial-21-namesilo-login-2

看到域名列表之后,我们点击目标域名,再进去域名服务器的设置:

wordpress-tutorial-21-change-nameserver-entry

如上图所示,我上面有两个域名服务器已经给 CF 了,所以你在红圈处看到的地址就是他家的。下面的三个还没有给出去,所以仍然是默认的 dnsowl.com(Namesilo 自家的服务器)。

假设我现在要改上图中最后一个域名的 Namesever 域名服务器,就直接在红线处点这个域名进去(而不是和之前改 DNS 一样,点右边的蓝色地球图标):

wordpress-tutorial-21-namesilo-change-nameserver

如上图所示,点 “Edit” 按钮进去编辑界面之后,直接粘贴 CF 给你的两个目标地址就好:

wordpress-tutorial-21-namesilo-change-nameserver-2

如上图所示,填好之后,点保存提交。

如果你是在其他地方买的域名,流程应该差不多。硬是不会的话,就提交工单,问他们客服,在哪里更改域名服务器地址。

至于 CF 给我们的第二步,检查 DNSSEC 的选项,一般是不需要的,因为大多数域名商不会启用它。

改完上面的记录之后,不是立即生效的,我们一般要等几个小时。

验证记录

运气好的话,不用等几个小时。两根烟的功夫,差不多就行了。

如果你很着急,就用下面这个小工具来看看,直接在谷歌里面搜:

whois lookup
wordpress-tutorial-21-domain-checker-entry

在搜索结果中,随便点一个不是广告的结果,例如箭头所示的,是 ICANN,全球地址的总管局官网。

进去之后,输入我们不带 www 的域名,然后点击查询:

wordpress-tutorial-21-check-whois-info-1

查询之后,在结果中仔细找 Nameserver 这一项:

wordpress-tutorial-21-check-whois-info-2

如上图所示,黄师傅这里的结果显示是后面加的两条,那就说明是已经生效了。

确定生效之后,我们再回来 CF 刚才的步骤界面,点击继续(如果你早就点了,回来后台刷新也一样的):

wordpress-tutorial-21-continue-after-nameserver-changed

如上图所示,点完按钮之后,黄师傅的页面好像没啥反应,又给我自动跳转回来了这个最后一步。

于是,我翻到下面,发现有一个手动强制检查按钮:

wordpress-tutorial-21-manually-check-ns-record

如上图所示,我点这个手动检测,让它立即检查一次。点完之后,出来一条提示:

wordpress-tutorial-21-feedback-of-check-ns-server-now

如上图所示,点完只是出现一条提示,说让再等几个小时。

本来以为要很久,但其实只要再来一根烟的功夫,接着刷新这个页面,应该就能看到:

wordpress-tutorial-21-successful-added-website

如上图所示,当你等够了时间,多刷新几次,看到这条恭喜的消息时,说明添加网站已经生效了。

紧接着这条祝贺消息的下面,就带了一些选项:

wordpress-tutorial-21-cdn-suggested-options

如上图所示,它推荐的这些设置,我们一般不做任何改动,默认的就行。

平时如果是出现了异常,CF 会给你发邮件通知(但一般都没啥事)。

这里成功之后,就再打开命令提示符/终端,使用之前查找服务器地址的命令,看看有什么不一样。

首先清空一下本地缓存,输入:

ipconfig /flushdns
wordpress-tutorial-21-flushdns

接着,查自己的域名,输入:

nslookup huangshenglin.com

记得替换你自己的域名:

wordpress-tutorial-21-nslookup-domain-after-cf-deployed

如上图所示,现在根据域名找出来的 IP 地址,已经不是我自己的服务器了(这几个 172 和 104 开头的,都是 CF 的缓存服务器)。这样,就相当于起到了隐藏保护作用。

缓存问题

我们知道了 CDN 的这么多好处之后,也要知道,它不是没有缺点的。

它的核心机制我们已经介绍了,就是和海外仓一样,帮我们分发网站内容。从我们服务器(前端)拿出去,存在 CF 服务器上的内容,也叫做缓存。

但它毕竟不是真正的网站服务器,如果我们自己网站更新频繁,而它来我们服务器上取数据(专业术语叫做 Origin Fetch, 回源)的频率又没有那么高的话,它缓存的版本,就永远和我们自己的服务器慢一拍。

也就是说,有时候,你明明改了东西,但刷新之后,还是原来的内容。这就是缓存在作祟。所以,我们也是等到首页改的差不多了,才过来完成这项早该做的工作。

当然,如果你也是一路跟过来的,会发现我们之前就处理过很多层面的缓存。因而,单论缓存,远远不止 CDN 这一块可能会出问题。

例如,我们第六节部署的页面缓存插件 W3 Total Cache, 也会需要定期清理缓存:

wordpress-tutorial-21-page-cache-clear-options-in-admin

如上图所示,你如果页面显示出现了问题,最先需要清理的缓存,其实是这里。

但如果清理了这里没有用,就再来 CF 的后台也清理下。具体操作入口在这里:

wordpress-tutorial-21-cf-caching-entry

如上图所示,登进去后,点左边的 “Caching”(“缓存”),然后选择 “Configuration”(“配置”):

wordpress-tutorial-21-cf-caching-configuration

接着,在配置页面的右边,有一个 “Purge Everything”(“清除所有”)的选项,我们点击它,就完成了 CF 缓存的清理。

wordpress-tutorial-21-cf-caching-purge-everything

如上图所示,这样,它就会再来取一次我们网站的最新版本。

英专生们,你们准备专四的时候,应该有一道题,问的就是 Delete 和 Purge 的区别,英语课堂上的知识告诉你们,Purge 是程度更彻底的删除。所以看到这里,似乎会本能地触发警惕。但没关系,这个操作不会对我们的服务器造成任何损害。

wordpress-tutorial-21-cf-caching-purging-menu

如上图所示,看到这个提示,直接点红色按钮确定就好。

其实我们平时也不需要经常来这里清缓存。不过如果你有缓存焦虑,而每次这样登 CF 后台又不方便,就可以在网站后台装一个 CF 插件:

wordpress-tutorial-21-cf-official-cache-plugin

如上图所示,看这评分,官方插件一般是这样了,你有需要就还是装下。

最后要提醒你,以后如果要新增 DNS 记录,就要来这里了。因为我们域名服务器已经转移到了 CF 平台上。你去之前的老域名服务商那里,一般只是续费。

好,这节课就讲到这里,这东西也没啥需要注意的,部署成功后放在一边不管就行了。真有问题的话,问 AI 就可以了。

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *