我们博客里面存在的各种媒体文件、压缩文件、脚本文件,这些文件可能很大而且不需要随时生成。如果我们的服务器带宽很小,访问我们网站的用户等待加载完成就需要很长时间,那么访问速度会很慢。因此我们需要通过第三方服务器把这些文件转发给用户,这就是CDN。

因为Word Press依赖PHP和MySql动态加载的网页平台,所以每次用户访问我们的网页时服务器就要调取数据库、生成网页等操作,导致了访问慢。缓存加速利用静态网页把网页的内容做成了类似一张照片,减少了服务器负荷,从而加速了访问,所以我们首先要对网站进行静态改造,但这一定程度上影响了用户与服务器交互。详见百科:https://baike.baidu.com/item/动态页面静态化

首先我们来配置WordPress缓存插件环境。我们需要先给服务器的IIS开启URL重写功能,只有开了URL重写才能开启WP的固定链接功能,没有固定链接我们就只能访问动态网站,类似abc.com/index/abc.php?asdhvbaksjdvv这样。假如用户访问到的网站都不一样,我们就不能够给每个网站都做缓存和加速。

Web Platform Installer 5.1

首先我们在服务器上安装WPI工具,相关链接https://www.microsoft.com/web/downloads/platform.aspx

安装URL重写工具

完成安装后在应用程序当中搜索关键字”URL”,找到”URL 重写工具 2.0″,添加并安装它。完成以上步骤后重启IIS。

完成后进入WP后台,配置固定链接格式。

固定连接格式

由于WP和IIS的兼容性问题,推荐使用和我一样的自定义结构。当然你也可以选择其他结构,但是注意某些格式,特别是包含文章名字的链接格式。因为中文链接很有可能会导致重定向失败,显示找不到相关页面。

现在我们测试一下自己的网站访问是否正常。可以看到我们的文章链接变成了有序的地址,并且能够正常访问。

如果一切正常,那么我们开始安装配置 WP Super Cache 缓存插件。

缓存位置配置

缓存插件的配置相对简单,只需要开启缓存和更改一下缓存文件的存放位置。更改缓存位置是为了方便我们在服务器中单独管理,假设你的缓存巨大那我们肯定是要把缓存放到一个具有足够空间的存储区域。另外,最好把缓存位置的文件夹添加到Windows Defender的排除目录,防止引起冲突。具体操作请看上一篇文章,这里就不重复介绍了。
注意:如果你不懂其中复杂的配置选项,千万不要随便更改,使用默认设置就可以完成绝大多数功能的配置。

自动测试缓存

完成配置后我们可以点击WP SC插件的通用菜单页面的缓存测试来检测缓存建立是否成功。可以看到全部显示OK,说明相关缓存已经生效。

下面我们开始教大家配置阿里云CDN和WP SC插件来使用CDN加速,彻底提升网站的访问速度。以我自己使用的阿里云为例。首先需要购买一个CDN加速包,其次由于我们配置了HTTPS(具体请看上一篇),需要另外再购买一个静态HTTPS请求数包(因为本篇开头已经教大家配置好了静态链接)。

阿里云CDN控制台https://cdn.console.aliyun.com/overview

CDN控制台主界面CDN加速包1CDN加速包2

下面的步骤有些繁琐,各位仔细体会。
首先CDN加速是通过第三方服务器给你加速的,所以你需要一个域名把需要加速的内容指向这些第三方服务器。因此你可以用一个不是本站的域名来完成这项工作。比如说可以使用一个全新的域名或者使用一个子域名。a.abc.com就是abc.com的子域名。同样的,我们可以设置一个cdn.wbsite.com的域名,其中的wbsite就是你的主域名。此时我们就能通过cdn.你的主域名.com来访问cdn服务器。因此我们需要给自己的主域名添加一个子域名。
好了,现在你应该能明白其中的道理了,不过这个步骤先不会用到,我们先来配置一个cdn服务器。

CDN控制台-域名管理配置CDN,源站地址以网站域名为例

首先在你的CDN控制台中添加一个CDN域名。加速域名就是以后你将通过这个域名来访问cdn服务器。源站域名就是被加速的域名或IP,比如你的网站域名或IP,以后cdn服务器将会通过这个地址下载备份资源。端口就是开放端口,http是80,https是443。加速区域就根据自己买的加速包类型自己选择。
完成后系统会自动进行分配CDN服务器,这可能需要几分钟。分配完成后就能在域名管理列表中看到一个有黄色叹号的CNAME。CNAME就是CDN的内部地址,这时你需要配置DNS解析,把你的子域名解析到CNAME上。

DNS控制台

打开DNS控制台https://dns.console.aliyun.com
添加一条解析记录,用来把你的子域名解析到CDN加速服务器。记录类型一定要选择CNANME,主机记录就是类的子域名,记录值就是改成CDN控制台中的CNAME地址,复制过去就好了。等待几分钟让DNS解析生效,这时你的CDN控制台中的CNAME的黄色!就会消失,变成绿色√。

打开自己电脑的shell,尝试ping一下自己的cdn加速的子域名,看看访问是否正常。正常说明解析已经生效,DNS配置成功。因为我们的CDN已经开通了https,为了配合https我们需要给cdn部署一个专有SSL证书,没有部署这个证书网站就不能完全https化,在浏览器访问时可能会出现风险提示。

找到SSL证书入口购买证书购买免费证书证书部署

阿里云提供了免费证书,所以就选择了免费证书。注意:购买后绑定的域名一定要是你的CDN的子域名,否则无法部署!最后在证书控制台中把证书部署到CDN上。

好了,以上就是CDN的基本配置,现在回到刚才的CDN控制台,点击管理CDN。
点开基本配置,进行源配置。

源站信息配置成了IP和443端口(HTTPS)

如果你的源站信息配置成IP了的话请往下看,否则跳过这段

回源设置

如果你的源站配置成了IP,就把回源HOST配置成你的网站,把回源SNI也配制成你的网站。回源HOST是指CDN将从该地址访问资源,因为你的IP的主机可能绑定了多个域名(网站),默认源站IP虽然也能访问但是对于CDN来说就不知道源站IP所对应的哪个域名是正确的,所以需要手动指定。SNI也是如此。

如果你的源站信息配置成域名了的话请看这段

如果你的源站配置成了域名,就只需把回源HOST配置成你的网站即可。

以上就是CDN加速的源配置,下面应用之前的SSL证书。

CDN 应用SSL证书

点击HTTPS配置,应用之前申请的SSL证书。

配置优化

开启优化选项,提升性能和速度。

开启 WP SC插件的CDN加速

最后回到WP的WP Super Cache插件,打开CDN支持。在站点地址中填上你的网站域名,如www.abc.com,在off-site URL中填上刚才配置好的CDN加速子域名,如cdn.abc.com。
如果你的博客上放了一写可以提供下载的大文件,建议不要加速这些文件。

好了,以上就是所有教程。有疑问可以留言,欢迎点赞打赏。
大家也可以到性能魔方网站去测试自己的加速效果。

没CDN加速前测试得分,加载时间超过半分钟CDN加速后测试得分,加载时间不超过3秒

零基础Windows Server搭建部署Word Press 博客系列教程(3):弱鸡变猛男之部署CDN加速和缓存加速的更多相关文章

  1. 利用阿里云服务器免费体验word press博客、个人网站

    本文首发于我的个人博客:https://chens.life/create-wordpress-blog.html 前言 目前市面上有许许多多的虚拟云服务器ECS,例如阿里云.华为云.又拍云等等,他们 ...

  2. 搭建自己的技术博客系列(二)把 Hexo 博客部署到 GitHub 上

    1.在GitHub上建一个新仓库

  3. ubuntu server 搭建自己的个人博客及其他网站

    一, 安装apache2服务器 sudo apt-get install apache2 二,安装mysql服务器 sudo apt-get install mysql-server 此时会提示输入M ...

  4. 搭建自己的技术博客系列(一)使用 hexo 搭建一个精美的静态博客

    1.安装 Git 和 nodejs https://hexo.io/zh-cn/docs/

  5. 搭建自己的技术博客系列(五)hexo博客接入busuanzi插件,展示访问量和网站运行时间

    busuanzi计数脚本 busuanzi官方指引 一.安装脚本(必选) 要使用不蒜子必须在页面中引入busuanzi.js,目前最新版如下. 不蒜子可以给任何类型的个人站点使用,如果你是用的hexo ...

  6. hexo零基础搭建博客系列(一)

    关于其他搭建 [hexo4快速搭建博客(二)更换主题](https://blog.csdn.net/weixin_41800884/article/details/103750634)[hexo4快速 ...

  7. 利用Github和Hexo搭建独立的个人博客--基础篇

    利用Github和Hexo搭建独立的个人博客--基础篇 摘要:本文主要参考了使用hexo和Github上创建自己的博客.如何搭建一个独立博客--简明Github Pages与Hexo教程和使用GitH ...

  8. 使用Hexo+Github搭建属于自己的博客(基础)

    前言 hexo是一个台湾人做的基于Node.js的静态博客程序,优势是生成静态文件的速度非常快,支持markdown, 我最终选定它的原因是它速度快而且不容易出错,并且可以一键部署到github或者其 ...

  9. Hexo+GitHub+Netlify一站式搭建属于自己的博客网站

    喜欢的话请关注我的个人博客我在马路边https://hhongwen.cn/,此文为博主原创,转载请标明出处. 更好的阅读体验请点击查看:Hexo+GitHub+Netlify一站式搭建属于自己的博客 ...

  10. 使用Docker部署Spring-Boot+Vue博客系统

    在今年年初的时候,完成了自己的个Fame博客系统的实现,当时也做了一篇博文Spring-boot+Vue = Fame 写blog的一次小结作为记录和介绍.从完成实现到现在,也断断续续的根据实际的使用 ...

随机推荐

  1. Machine Learning Week_8 K-means And PCA

    目录 1 K-means 1.1 Unsupervised Learning:Introduction 1.2 K-Means Algorithm 1.2.1 k-means algorithm 1. ...

  2. 无需等待Vue Release发布,就能在项目中体验最新版

    前言 两个月前尤大在Vue 仓库中引入了 pkg.pr.new,有了这个后Vue仓库中的每个commit或者PR都会自动触发一个新的发布,我们就可以在项目中体验最新版本的Vue啦. 关注公众号:[前端 ...

  3. 关于在有动态的Scroll Bar情况下页面内容的对齐问题

    关于在有动态的Scroll Bar情况下页面内容的对齐问题 问题场景 一个标题行 + 一些内容行 要求在内容行超过指定行数时 将多出的行隐藏,并展示Scroll Bar的来提示用户可以下划查看更多内容 ...

  4. html换行的方法

    1.使用<br> 1 <html> 2 <body> 3 <p> 4 春眠不觉晓,<br />处处闻啼鸟.<br />夜来风雨声 ...

  5. 安卓微信小程序开发之“蓝牙”

    一.写在前面 在微信当中是支持两种蓝牙模式,分别是"经典蓝牙--BT"和"低功耗蓝牙--BLE".通常在和外围单片机设备进行连接的时候用的是低功耗蓝牙这个模式, ...

  6. 开源 - Ideal库 - 特殊时间扩展方法(三)

    书接上回,我们继续来分享一些关于特殊时间获取的常用扩展方法. 01.获取当天的开始时间 当天的开始时间指00:00:00时刻,因此只需要获取DateTime的Date属性只获取时间即可,具体代码如下: ...

  7. Django常用第三方包

    有用的包资源: 核心 Django : Web 框架. django-debug-toolbar : 显示面板用于调试 Django HTML 视图. django-model-utils : 很有用 ...

  8. vue 的provide 和 inject

    1.功能说明 在开发过程中,在子组件中如何获取父组件或者祖父级的数据.这个我们之前的做法是在子组件中找到父组件实例,然后使用父组件的数据.这样其实不是很自然. 在vue 中提供了 provide 和 ...

  9. InheritableThreadLocal 父子线程值传递

    最近项目中使用 @Async 异步远程调用的时候,发现主线程能拿到 token 值,子线程调用的时候 token 为 null.研究了一番,发现可以直接使用 InheritableThreadLoca ...

  10. Mac文件拷贝Win后的._文件清理

    前言 我们在从mac向win拷贝文件后总会多出来 部分 ._ 开头的文件或名为.DS_Store的文件 根据上图在苹果官方社区的回答来看,这些文件存储了主文件的一些资料,图表等数据,如果说未来这些文件 ...