Cloudways网站怎么加速?Breeze、Redis、Lightning Stack和CDN设置教程

蜗牛大人Cloudways主机教程

本文含推广链接:通过此链接购买,本站可获得佣金,不影响你的价格。了解详情

Cloudways的服务器本身已经做过优化,新建的WordPress也预装了缓存插件。但有不少设置默认没有打开,或者需要你根据网站的情况调整。

本文按从服务器到网站的顺序,把Cloudways上能做的加速设置过一遍:

  1. 先测一下速度,作为对比的基准;
  2. 服务器层面:机房、PHP版本、Lightning Stack;
  3. 页面缓存:Breeze插件;
  4. 对象缓存:Redis和Object Cache Pro;
  5. 要不要换成WP Rocket;
  6. CDN:免费Cloudflare,还是Cloudflare Enterprise;
  7. 网站本身的优化。

每做完一步,最好都重新测一次速度,这样才知道哪一步有效。

第一步:先测一下现在的速度

优化之前,先记下现在的速度,后面才有对比。可以用PageSpeed Insights和GTmetrix,测试的地点选在目标客户所在的国家或地区。方法见《网站速度怎么测?》。

重点看两个数字:

  • TTFB(首字节时间):服务器多快开始返回页面。这个数字主要取决于服务器、机房和缓存;
  • LCP(最大内容绘制):页面主要内容多快显示出来。这个数字还受图片、主题、插件影响。

TTFB慢,从服务器和缓存下手;TTFB不慢但LCP慢,问题多半在网站本身。

第二步:服务器层面的设置

机房离客户近一点

这一点在开服务器的时候就决定了:网站的客户主要在欧美,机房就选法兰克福、伦敦、纽约这些地方。机房选错了,后面怎么优化都弥补不了,只能克隆到新机房的服务器上。机房怎么选,见《Cloudways选哪家云?》。

PHP版本用新一点的

新版本的PHP通常比旧版本更快。查看和修改PHP版本:

  1. 进入「Flexible」→「My Servers」,点击服务器;
  2. 在左侧的「Server Management」里点击「Settings & Packages」,打开「Packages」标签;
  3. 在PHP那一行选择新的版本,保存。

这里改的是整台服务器的默认版本,会作用于服务器上的所有网站;Cloudways现在也支持给单个网站指定PHP版本,见《Cloudways后台常用设置》。改之前先确认主题和插件都支持新版本,最好先在测试站(Staging)上试一下,改完之后把每个网站都打开检查一遍。

切换到Lightning Stack

Cloudways现在有两种运行环境(Stack):

  • Hybrid Stack:Nginx加Apache,以前的默认环境;
  • Lightning Stack:只用Nginx,处理动态页面更快,官方说动态页面的响应时间最多能快65%。

新的服务器可能已经默认是Lightning,老服务器上的网站可以手动切换。环境是按网站设置的,同一台服务器上的网站可以分别选择:

  1. 进入网站的管理页面,在「Application Management」里点击「Application Settings」;
  2. 打开「Stack Setting」标签,选择「Lightning Stack」;
  3. 点击「Update Now」,确认。

切换不会造成网站中断,切换之后也可以改回来。

切换之前要注意.htaccess:Lightning Stack没有Apache,网站目录里的.htaccess文件不再起作用。如果你在.htaccess里写了301跳转、伪静态规则或者安全规则,切换之后要改用Cloudways后台的「Web Rules」重新设置。Web Rules每个网站最多25条跳转规则,规则比较多、比较复杂的网站,还是留在Hybrid Stack。

另外,子目录形式的WordPress多站点(Multisite)依赖.htaccess,不要直接切换。

保险的做法是:先把网站克隆一个测试站,在测试站上切换、检查,没问题了再切换正式网站。

第三步:页面缓存,Breeze插件

在Cloudways上新建的WordPress会预装Breeze,这是Cloudways自己开发的免费缓存插件,和服务器自带的缓存配合得最好。普通网站用它就够了。

在WordPress后台的「设置」→「Breeze」里,建议这样设置:

Basic Options(基本设置)

  • Cache System:开启。这是页面缓存的总开关;
  • Purge Cache After:缓存多久自动清除,默认1440分钟(一天),一般不用改;
  • Gzip Compression:开启;
  • Browser Cache:开启;
  • Cache Logged-in Users:一般关闭。只有会员网站这类用户要登录才能看内容的,才考虑开启。

File Optimization(文件优化)

压缩、合并CSS和JS的选项,不要一次全部打开。这些选项最容易让页面错位、按钮失灵。一项一项打开,每开一项就刷新网站检查一下,出了问题就关掉那一项。改之前最好在测试站上试。

Varnish(服务器缓存)

如果服务器上有Varnish缓存(在服务器的「Manage Services」里能看到),Breeze会自动对接:

  • Auto Purge Varnish:开启。发布、更新文章或者有新评论时,自动清除对应的服务器缓存;
  • Varnish Server:保持默认,不要修改。

Advanced Options(高级设置)

  • Never Cache URLs:不需要缓存的页面填在这里,比如购物车、结账、我的账户。WooCommerce的这几个页面Breeze一般会自动排除,保险起见可以检查一下。

改了网站,前台没变化?

这是缓存在起作用。在WordPress后台顶部的「Breeze」菜单里点击「Purge All Cache」清除所有缓存。还是没变化,再到Cloudways后台清除这个网站的Varnish缓存,最后清一下浏览器缓存。

第四步:对象缓存,Redis和Object Cache Pro

页面缓存解决的是“访客看页面”的速度。WordPress后台、WooCommerce的购物车和结账这些不能缓存的页面,每次都要查询数据库,这时候就要靠对象缓存:把常用的数据库查询结果放在内存里,减少重复查询。

对象缓存对这几类网站效果最明显:

  • WooCommerce商城;
  • 会员网站、论坛;
  • WordPress后台很卡的网站。

4GB及以上的服务器:Object Cache Pro

4GB及以上的服务器,可以免费使用Object Cache Pro。这是一个付费的对象缓存插件(单独购买每月约95美元),性能比免费的方案更好。开启方法:

  1. 进入服务器的「Manage Services」,找到Redis,点击启用;
  2. Redis启用之后,Cloudways会自动给服务器上支持的WordPress网站配置好Object Cache Pro。

如果网站里装了其他的对象缓存插件(比如Redis Object Cache),要先删掉,两个对象缓存插件同时存在会冲突。

4GB以下的服务器:免费的Redis

2GB的服务器用不了Object Cache Pro,可以用免费的Redis:

  1. 同样在服务器的「Manage Services」里启用Redis;
  2. 在WordPress里安装「Redis Object Cache」插件;
  3. 在插件的设置页面点击「Enable Object Cache」。

Redis会占用一些内存。1GB的服务器内存本来就紧张,开不开要看一下Monitoring里的内存情况,见《Cloudways服务器配置怎么选?》。

第五步:要不要换成WP Rocket?

WP Rocket是最常用的付费缓存插件,比Breeze多一些功能,比如延迟加载JS、生成关键CSS、预加载缓存,对提高PageSpeed分数有帮助。

怎么选:

  • 普通的企业站、询盘站:Breeze就够了,免费,和Cloudways的服务器缓存配合得最好;
  • 已经买了WP Rocket,或者对PageSpeed分数要求高:可以用WP Rocket。

用WP Rocket要注意:

  • 只保留一个页面缓存插件。用了WP Rocket,就把Breeze停用,两个缓存插件同时开很容易出问题;
  • WP Rocket清缓存时,服务器的Varnish缓存不一定会跟着清。在WP Rocket的「附加组件」(Add-ons)里开启Varnish相关的选项;更新网站之后前台没变化的话,到Cloudways后台手动清除Varnish缓存;
  • Object Cache Pro、Redis和WP Rocket可以同时使用,它们管的不是一回事。

第六步:CDN,免费Cloudflare还是Cloudflare Enterprise?

CDN把网站的图片、CSS、JS(有的还包括整个页面)放到全球各地的节点上,访客从最近的节点获取,网站的客户分布在多个国家时效果最明显。CDN是什么,见《什么是CDN?》。

在Cloudways上有两个选择:

免费CloudflareCloudways的Cloudflare Enterprise插件
价格免费每个域名每月$4.99(1~4个域名),域名多了单价更低
流量不限每个域名含100GB,超出部分每GB $0.02
整页缓存需要自己设置规则默认支持,并且会随WordPress更新自动清除
图片优化没有自动压缩图片(Polish)
防火墙基础功能企业级WAF
设置自己在Cloudflare设置在Cloudways后台开启

怎么选:

  • 刚上线、预算有限的网站:先用免费Cloudflare;
  • 客户遍布多个国家、对速度要求高的商城或询盘站:Cloudflare Enterprise每月$4.99,在Cloudways上是很划算的加速方式,整页缓存能明显降低海外访客的TTFB。

Cloudflare Enterprise在网站的管理页面里开通(「Application Management」下的Cloudflare相关菜单),按页面提示添加域名、修改DNS即可,不同网站可以分别开通。如果域名已经在用免费Cloudflare的代理(橙色云朵),开通之前要先关掉代理。

第七步:网站本身的优化

服务器和缓存都设置好了,网站还是慢的话,问题一般在网站本身:

  • 图片太大:上传之前压缩,尽量用WebP格式,首屏的大图不要超过几百KB;
  • 插件太多:停用并删除不用的插件,特别是那些在每个页面都加载脚本的插件;
  • 主题太重:页面构建器做的页面,元素越多越慢,首页尽量简洁;
  • 外部资源太多:在线客服、统计代码、社交媒体插件、谷歌字体,每一个都会拖慢加载速度。

常见问题

WordPress后台很卡,怎么办?

后台页面不走页面缓存,最有效的是开启对象缓存(Redis或Object Cache Pro)。其次检查是不是某个插件拖慢了后台,以及服务器的内存、CPU是不是已经吃紧,吃紧的话考虑升级配置。

Breeze和Cloudflare的缓存会冲突吗?

不会。Breeze的「Never Cache URLs」里排除的页面,也会同样从Varnish和Cloudflare的缓存里排除。更新内容之后,Breeze会自动清除对应的缓存。

开了缓存,表单、购物车出问题了怎么办?

先在Breeze里关闭「File Optimization」的所有选项,看问题是否消失;还不行,把出问题的页面加到「Never Cache URLs」里。WooCommerce的购物车、结账页面本来就不应该被缓存。

切换到Lightning Stack之后,网站的跳转失效了?

这是因为.htaccess不再起作用了。到网站的「Web Rules」里重新添加跳转规则,或者切回Hybrid Stack。

总结

在Cloudways上给WordPress网站提速,可以按这个顺序做:

  1. 机房选在客户附近,PHP用新一点的版本,没有复杂.htaccess规则的网站切换到Lightning Stack;
  2. 用Cloudways自带的Breeze做页面缓存,文件压缩合并的选项逐项测试;
  3. 开启Redis对象缓存,4GB及以上的服务器免费用Object Cache Pro;
  4. 只用一个页面缓存插件,换WP Rocket就停用Breeze;
  5. 海外客户多的网站,考虑每月$4.99的Cloudflare Enterprise;
  6. 最后优化图片、插件和主题。

更多Cloudways的使用教程,可以查看《Cloudways主机教程汇总》。

文章版权归作者所有,转载请注明出处:https://woniune.com/posts/cloudways-speed-optimization/
上一篇Cloudways注册常见问题:收不到验证邮件、账号审核、绑卡失败、更换登录邮箱

相关推荐