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

    摘要 1.介绍 2.高效网络设计的实用指导思想 G1-同样大小的通道数可以最小化 MAC G2-分组数太多的卷积会增加 MAC G3-网络碎片化会降低并行度 G4-逐元素的操作不可忽视 3.Shuff ...

  2. uniswap v2 类比

    当然,以下是生活中的类比,帮助你理解 Uniswap V2 的核心概念: 1. 自动化做市商(AMM) 生活中的例子:自动售货机 解释:自动售货机内部有一种商品(如饮料)和一定的库存.用户通过投币购买 ...

  3. Android添加OpenCV支持

    首先下载OpenCV的SDK 推荐在官网下载. 官网地址:https://opencv.org/releases/ 也可以在OpenCV的GitHub上现在 GitHUb链接:https://gith ...

  4. C#/.NET/.NET Core优秀项目和框架2024年10月简报

    前言 公众号每月定期推广和分享的C#/.NET/.NET Core优秀项目和框架(每周至少会推荐两个优秀的项目和框架当然节假日除外),公众号推文中有项目和框架的介绍.功能特点.使用方式以及部分功能截图 ...

  5. Python中序列化/反序列化JSON格式的数据

    基本概念 JSON: JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式.简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言. 易于 ...

  6. Python:pygame游戏编程之旅三(玩家控制的小球)

    上一节实现了小球自由移动,本节在上节基础上增加通过方向键控制小球运动,并为游戏增加了背景图片. 一.实现: # -*- coding:utf-8 -*- import os import sys im ...

  7. npm之基本使用

    # 查看镜像源 npm config get registry # 设置镜像源 # 腾讯云 npm config set registry http://mirrors.cloud.tencent.c ...

  8. python之模拟数据Faker

    Faker,它解决的问题是python模拟(随机)数据!不知道大家在工作中没有用到过假数据,特别前后端开发的人员,应该经常用到,前端人员页面展示,效果展示.后端人员数据库数据模拟.今天给大家介绍的这个 ...

  9. idea springboot 微服务批量启动

    概要 在使用IDEA开发微服务的时候,微服务比较多,启动起来比较麻烦,下面介绍一下使用批量启动微服务的方法. 方法 编辑当前项目根目录下的 .idea\workspace.xml 文件. 找到 < ...

  10. 将.nuget文件夹从C盘移到其它盘,再也不用担心的C盘爆红了

    将.nuget文件夹从C盘移到其它盘,再也不用担心的C盘爆红了 命令 查看缓存文件夹的具体路径 dotnet nuget locals all --list 第一步 在文件资源管理器输入%AppDat ...