【VPS加速+WordPress网站优化】记一次网站数据迁移后的服务器加速优化过程

最近这几天,我想把网站迁移到搬瓦工VPS,一直在等搬瓦工 CN2 GIA 套餐补货,结果是等了几天,迟迟不见官方补货。今天,我登录搬瓦工网站看到以前的老套餐快到期了,于是点击了升级套餐的选项,发现只可以升级到年付188刀的 CN2 GIA 套餐,这对我目前来说有点浪费,没舍得升级。于是,我就再看了一下套餐监控的网页,还是没变化,此时我却发现我的搬瓦工老套餐一直是CN2的活动套餐,然后我就对比了其他的KVM普通套餐和CN2套餐的详情页面信息。没错!我的老套餐是以前活动款的CN2,只是比GIA差一些,但是还算可以,毕竟是搬瓦工的 CN2 GT 线路套餐,还可以接受吧!也许,有人会问,你用了那么久一直都不知道你买的是CN2套餐?实事求是地说,我是真的不知道,当时我以为是买的普通的KVM套餐,而且这个VPS用了一年,也就挂了一个网站,没有坚持更新,几乎没流量,我几个月才登录过一次。我今天无意中发现竟然是CN2套餐,心中有点窃喜,还是那种性价比不错的套餐,如果到期不续费就可惜了。

一、我为什么要把网站迁移到搬瓦工VPS呢?

因为我这个网站是2020年才开始运营的一个新站,作为个人博客来规划内容的,原本是运行在 PacificRack VPS 上面的,总体来说还不错。由于我是买的活动款,磁盘IO太低了,跟阿里云活动款ECS和轻量应用服务器的性能差不多,写数据不够快,还有最重要的一点就是常规线路VPS,晚上速度不稳定,这个对想要讨好搜索引擎的网站来说是挺不好的,会比较影响用户体验和搜索引擎的权重。搬瓦工VPS毕竟是非常适合建站的,尤其是其CN2线路,针对亚洲地区进行过优化,相对来说,网速比较稳定。

二、我为什么要写这篇文章?

因为我本以为直接把数据迁移到搬瓦工VPS上,网站体验就会有直接的良好改观。但结果是,我数据迁移过来之后,网页打开速度并不理想,反应较慢,而且卡顿有延迟,感觉还不如我的原来的 PacificRack VPS,当时心里是有点嘀咕的。于是,我就尝试进行加速优化,以下是基本过程,不详细仅作为备忘录。

三、VPS加速+Wordpress网站优化过程

1、启用 Google BBR2 加速模块

现在加速方式有很多种,为什么我选择了BBR2?因为我VPS系统是 Debian10,以前那些好用的一键安装脚本不管用了,所以我只能找适用于 Debian10 的一键加速脚本。我谷歌了很多网站,最终就找到了两款大神制作好的加速脚本,一个是 Google BBR2 BBRv2 Debian/Ubuntu x64 至臻一键安装脚本,由夜桜大神制作,已经更新至Alpha2,支持内核更新至5.4.0rc6,另一个是 TCP加速一键安装管理脚本,由千影,cx9208和YLX三位大神制作的。脚本安装代码如下:

Google BBR2 BBRv2 Debian/Ubuntu x64 至臻一键安装脚本

wget --no-check-certificate -q -O bbr2.sh "https://raw.githubusercontent.com/yeyingorg/bbr2.sh/master/bbr2.sh" && chmod +x bbr2.sh && bash bbr2.sh

TCP加速一键安装管理脚本

wget -N --no-check-certificate "https://github.com/ylx2016/-NetSpeed/releases/download/sh/tcp.sh" && chmod +x tcp.sh && ./tcp.sh

安装大神制作好的一键脚本很简单,按照提示一步步操作就可以了。

2、Wordpress网站优化

Word press网站优化一般就是从VPS服务器优化、动静分离、启用文件缓存和Wordpress程序优化这4方面入手。

(1)VPS服务器优化
  • 安装 Memcached 和 PHP Memcached 扩展:使用 Memcached 来缓存 WordPress 数据。
  • PHP 开启 OPCache:OPCache 也是一个 PHP 扩展,把经过编译后的 PHP 代码缓存到共享内存中,并在用户访问的时候直接调用从而起到高效的加速作用。
  • MySQL 设置 MySQL Query Cache,可以保存保存查询结果,同样的查询不再从数据库检索,对速度有很大的提升。

这都很容易实现,一般VPS服务商都是可以安装这3个组件并开启“MySQL Query Cache”功能的,如果你是使用的宝塔面板安装PHP Memcached 扩展,它会自动安装Memcached组件。

(2)动静分离

动静分离就是把Wordpress网站的动态文件和静态文件使用不同的域名分开加载,一般情况下,动态文件由本地服务器处理,而静态文件使用CDN加速处理,这样就可以使服务器的压力大大降低。静态文件通常包括图片、JS、CSS文件和网站上传的一些附件,这些文件几乎是不会改变的,或者很少有变化。

关于动静分离,我是用缓存插件处理动态文件,用Cloudflare的免费CND加速静态文件(有时候效果并不理想),备案域名建议用国内大厂的CDN。

(3)启用文件缓存

由于Wordpress没有直接把整个文章页面转化成HTML网页的功能,只能作伪静态处理,将不经常变动的这个网页生成静态文件缓存到硬盘或者内存中,下次用户直接访问静态的 HTML 文件,让服务器直接绕过 PHP,节约 CPU 时间。object-cache.php就是使用Memcached利用WordPress 缓存机制实现内存缓存功能的动态页面文件,因为内存运行速度快,所以这能极大提高网站运行效率。

这里我建议你从 WPJAM Basic 插件提取 wpjam-basic/template/ 目录下的 object-cache.php 文件,然后复制到 wp-content 目录下即可。

使用Wordpress静态缓存插件,当然插件有很多,到底我该选哪一个呢?我建议选用户量最大的免费插件就可以,比如 W3 Total Cache、WP Super Cache 和 WP Rocket,我使用的是 WP Rocket,效果非常牛逼的一款付费插件。

(4)Wordpress程序优化

WordPress程序优化因人而异,选择一款好的主题,尽可能少安装插件,少引进第三方函数,少查询数据库,并禁用一些不需要的功能。

我不太喜欢优化Wordpress程序,但是有大神喜欢,或有业务需求的小伙伴会需要,如果你使用国内的VPS服务器,那么建议你对谷歌字体、Gravatar头像等进行一下优化。

四、写在最后

毕竟我这小站的VPS服务器配置不高,但经过我优化之后,网站运行速度和网速稳定性都明显提升了很多。我不是什么大神,而且最近平时喜欢偷懒,能不动手去折腾就不折腾了。毕竟写文章真是一件挺累的事情,很费精力和时间的,写得不好,能看懂就行。

发表评论

电子邮件地址不会被公开。 必填项已用*标注