前言
好久没有玩blog了,最近重新搭建了潇湘君这个站点,目的是写一些生活笔记,与数码科技产品的文章,后续打算以潇湘君这个站点为基础,把一些自己买的好玩的,好用的产品,写一些开箱记录,然后把这些记录做成简单的开箱视频。
缘起简单说明了,然后就是写作了。写完之后发现本站点的访问速度不太好,原因是套了cloudflare的小云朵CDN(因为本人想要CF的免费SSL证书),通过网上查询得知:CF在国内的CDN体验很差,原因是GFW的封锁导致,但是国外网络访问CF的CDN镜像,加速效果很好。
但是,本人的blog目的是服务国内的用户,所以上网查找相关wordpress站点套国内CDN商家的解决方案,查来查去看到了我爱水煮鱼大佬的这篇文章,因为5-6年前刚接触wp站点的时候有用过我爱水煮鱼大佬的WPJAM SEO优化插件,所以将这篇文章记录在我自己的学习笔记里面,巩固知识的同时,也转载给有需要的朋友们。原文章链接:在此,谢谢大佬写的教程文章,以下是大佬的原文内容。
关于 WordPress 博客 CDN 加速,你只需这篇文章就够了
这是我一直想说清楚的问题,因为问的人实在太多了,今天把这方面的问题能想到都整理了下,通过这篇文章给大家说清楚问题,希望真的可以帮助大家做到关于wordpress站点 CDN 加速,你只需这篇文章就够了。
为了方便大家的阅读和理解,通过一些简单的问题的解答,从大到小一步一步引入讲解清楚。
一、网站怎么加速?
一般用户提问都是这样直接提出的,他们一开始想要的也是这个,这个问题很大,很难回答得很具体,那么今天从简单的开始,一步一步引入。
简单来说,网站加速分成两大步:动态内容优化,静态资源加速。
WordPress 站点页面的生成,首先加载 WordPress 程序,然后加载插件和主题,最后根据请求从数据库中取出数据渲染网页,当然这也是一般 PHP 脚本渲染网页的过程。
所以动态内容优化,首先要优化服务器,安装 OPCache 和 Memcached,然后优化 WordPress。
OPCache 把经过编译后的 PHP 代码缓存到内存中,在用户访问的时候就能直接调用从而起到高效的加速作用。
Memcached 会把 WordPress 的数据库查询结果存到内存里面,下次使用会直接到 Memcached 中取,这样数据库查询将会减少,甚至可以做到 0 SQL,所以可以显著的提高页面生成的速度。
优化 WordPress,我做的 WPJAM Basic 插件已经集成了绝大部分的优化选项,这里就不再说明。
WordPress 生成页面之后,页面里面有图片, CSS, JS 这些静态文件,这些静态资源如果加载比较慢的话,用户访问你的网站感觉也是会慢的,所以我们要对图片, CSS, JS 这些静态资源进行加速。
二、如何对静态资源加速?
前面讲到网站加速分成动态内容优化和静态资源加速这两个步骤,动态内容加速需要服务器需要 ROOT 权限,很多虚拟主机用户就放弃了,并且需要配置优化服务器,很多人又进入了知识盲区,望而却步了。
那么静态资源加速这块是比较简单的,只要相信自己,并且用心且认真看完本文就能够顺利操作的。
静态资源加速的意思就是让用户能够快速访问博客里面的图片, CSS 和 JS 这些文件。
那么反过来说:是什么阻止了用户快速访问图片, CSS 和 JS 这些静态资源文件呢?
-
服务器带宽不够,网页中的图片很大,或者访问量一大,这些资源加载就被限制了,当然可以升级服务器带宽,不过这是很贵的。
-
服务器并发不大,虽然服务器处理静态资源需要 CPU 是远远比不上动态内容的,但是如果一个网页有几十张图片,那么一个用户的访问,相当于服务器有几十个并发,那么访问量一大就会卡死。
所以静态资源的加速其实就是使用 CDN 来加速。这里就引出第一个问题:
CDN 是什么?
百科一下告诉我们:
CDN(Content Delivery Network)是指内容分发网络,采用各种缓存服务器,将这些缓存服务器分布到用户访问相对集中的地区或网络中,在用户访问网站时,利用全局负载技术将用户的访问指向距离最近的工作正常的缓存服务器上,由缓存服务器直接响应用户请求。
那么高级的东西,肯定是我们自己干不了的,所以我们就要使用第三方服务,比如阿里云和腾讯云的 CDN 服务。
所以使用 CDN 加速静态资源的意思就:使用阿里云或者腾讯云等这些第三方 CDN 服务加速图片, CSS 和 JS 这些静态资源文件。
那么就引出第二个问题:
怎么使用第三方的 CDN 服务?
直接使用,比如直接申请阿里云的 CDN 服务,按照指引解析域名的 CNAME 即可。
但是这样做有个不好的地方,因为他是全站 CDN 服务,不管动态内容还是静态资源都做了 CDN 服务,而你的动态内容是 PHP 实时生成的,不建议进行 CDN 加速,另外图片等资源还存在回源等问题和无法使用缩图。
所以我们一般建议先将静态资源镜像到第三方的云存储服务,比如阿里云的 OSS 和腾讯云的 COS,然后再使用第三方 CDN 对静态资源加速。
三、如何使用第三方云存储和CDN服务?
看到这里,很多人就开始有些困惑了,为什么简单的一个静态资源的事情要做得那么复杂?
因为我们只是写博客的,所以我们只要写博客做内容这件事情做好就好,其他专业的事情交给专业的第三方干。
所以有什么使用云存储有什么好处?
可以实时对图片裁图,我们无需 WordPress 的裁图功能,而且可以在不同的页面实现不同的缩略图大小。
CDN的回源操作是针对云存储,只要我们静态资源镜像到云存储之后,我们本地都可以不再存储这些资源。
下面我们使用阿里云为例,讲解一下如何使用第三方云存储和CDN服务?
四、使用阿里云对象存储 OSS 对静态资源进行 CDN 加速
-
首先注册阿里云,记得点我的链接,阿里云会给我返佣,看在我做的插件,和那么辛苦写教程份上,一定要点击这个链接哦。
区域:根据你网站用户在哪里最多选择。
下面这三个三个选项一定要按照下面选择:
存储类型:选择标准存储。
读写权限:选择公共读。
服务器端加密:选择无。
其他选项,根据你自己的需求设置,一般无特殊需求都选择关闭。
回源类型:选择镜像
回源条件:选择HTTP状态码404
回源地址:和上图一样,输入你的站点地址,比如我的:blog.wpjam.com
- 设置好「镜像回源」之后,返回点击「传输管理」选择「域名管理」,点击「绑定用户域名」:
源站信息选择 OSS 域名即可,其他按照你的需求进行配置。
云存储:选择阿里云OSS。
CDN域名:输入上面设置的域名,比如:https://cdn.wpjam.com。
这样就大功告成了,就可以在你的 WordPress 网站使用阿里云 OSS 服务,并且使用阿里云的 CDN 对静态资源进行加速了。
希望大家都有快速的网站,和我一样。如果对你有帮助也欢迎收藏本文,让更多的朋友也可以有更快的网站。
文章评论