搜索全站
插件 9 分钟阅读

WP Rocket 与 LiteSpeed Cache 怎么选:取决于服务器环境的选型逻辑

选 WP Rocket 还是 LiteSpeed Cache,其实取决于你用什么 Web 服务器。本文从服务器层缓存与应用层缓存的本质差异讲起,给出按环境、按预算、按运维能力的三条选型路径。

U
UFO_PF 2018-09-16 · 阅读 9 分钟
WP 插件
阅读提示
本文约 3,337 字,预计阅读 9 分钟。文中命令与配置均经过实测,可直接参考执行。

引言:同一个站点,换了个缓存插件速度差了两倍

有个很典型的对比:两台配置一样的服务器,同样的 WordPress 站点,一台装 WP Rocket,另一台装 LiteSpeed Cache。前者的首页 TTFB 是 180ms,后者是 45ms。差距不在插件谁写得更好,而在于后者根本没经过 PHP。

LiteSpeed Web Server(LSWS)和 OpenLiteSpeed(OLS)自带服务器级缓存:请求进来后由 Web 服务器直接判断缓存命中,命中就直接返回静态文件,PHP-FPM 完全不参与。而 WP Rocket 跑在 Apache 或 Nginx 上时,虽然也生成静态 HTML 文件并通过 .htaccess/Nginx 规则直接返回,但要走一遍 rewrite 判断和文件查找,在 Nginx 上还需要额外配置规则才能做到”不启动 PHP”。

所以这个问题的答案其实很直接:你的 Web 服务器决定了你的首选插件,预算和运维习惯只是次要因素。

原理分析:两层缓存的本质差别

维度 WP Rocket LiteSpeed Cache
缓存层级 应用层(生成静态 HTML + 服务器 rewrite 规则) 服务器层(LSWS 内置缓存引擎)
适用服务器 Apache 原生支持;Nginx 需手工加规则 仅 LiteSpeed / OpenLiteSpeed(LSWS/OLS)
免费与否 付费(年订阅) 免费(CDN 与图片优化需 QUIC.cloud 配额)
缓存命中标识 x-rocket-nginx-serving-static 等 x-litespeed-cache: hit
附加能力 CDN、数据库清理、延迟 JS、关键 CSS 爬行器、图片优化、对象缓存(Redis)、ESI、QUIC.cloud CDN
配置复杂度 低,开关为主 中高,选项密集

关键的判断依据是:能不能让请求不启动 PHP。可以用一个命令自测:

# 看服务器是什么
curl -sI https://mimangfei.com/ | grep -Ei '^(server|x-litespeed|x-powered-by|x-rocket)'

# 若返回 server: LiteSpeed,说明可以走服务器级缓存

如果 server: 返回的是 LiteSpeed,那 LiteSpeed Cache 的收益是架构级别的;如果是 Nginx 或 Apache,LiteSpeed Cache 插件就退化成一个普通的应用层缓存插件,完全没必要用它,直接上 WP Rocket(或免费方案)更合适。

第二个判断维度是运维投入。LiteSpeed Cache 的能力上限更高(ESI 可以做”整页缓存 + 局部动态”,WooCommerce 购物车能保持整页缓存),但配置项密集,默认配置在某些情况下会缓存不该缓存的内容;WP Rocket 默认配置就比较安全,代价是精细控制能力弱。

第三个维度是成本与依赖。LiteSpeed Cache 免费,但其图片优化、Critical CSS 生成、CDN 都依赖 QUIC.cloud 服务,免费额度用完后要么付费要么自己关掉;WP Rocket 是纯本地插件,付费买断的是功能本身,不依赖外部服务。

保姆级实操:三步确定选型

第一步:确认 Web 服务器类型

# Nginx / Apache / LiteSpeed 一眼看清
curl -sI https://mimangfei.com/ | grep -i '^server:'

# 或用 WordPress 侧的服务器软件信息
wp eval "echo \$_SERVER['SERVER_SOFTWARE'] ?? 'unknown';" 2>/dev/null

第二步:量基线,再装插件对比

# 装插件前先记 5 次 TTFB
for i in 1 2 3 4 5; do
  curl -o /dev/null -s -w "TTFB=%{time_starttransfer}s 总=%{time_total}s\n" https://mimangfei.com/
done

装完插件、清缓存、预热之后,再跑一次同样的命令对比。注意第一次请求必然是未命中,要取第二次之后的数值。

第三步:按环境落决策

  • LiteSpeed / OpenLiteSpeed:装 LiteSpeed Cache,优先配置 Cache → Enable Cache,再配置 Crawler 与图片优化;
  • Nginx:WP Rocket(付费)或免费方案;装 WP Rocket 后要确认 Nginx 里包含了插件生成的缓存规则;
  • Apache:WP Rocket 开箱即用,.htaccess 会自动写入。

Nginx 上配合 WP Rocket 时,需要确认配置文件里包含了类似这样的规则:

# Rocket-Nginx 风格:命中静态缓存则不走 PHP
set $rocket_cache 1;
if ($request_method = POST) { set $rocket_cache 0; }
if ($query_string != "") { set $rocket_cache 0; }

location / {
    try_files "/wp-content/cache/wp-rocket/$http_host/$uri/_index.html" $uri $uri/ /index.php?$args;
}

第四步:确认命中状态

# LiteSpeed
curl -sI https://mimangfei.com/ | grep -i 'x-litespeed-cache'

# WP Rocket
curl -sI https://mimangfei.com/ | grep -iE 'x-rocket|cache-control'

常见踩坑

  1. 在 Nginx 上装 LiteSpeed Cache。插件能跑,但核心的服务器级缓存用不上,白白多一堆配置。
  2. 两个缓存插件同时开。会互相拦截、缓存规则冲突,前台出现诡异的旧内容。
  3. 案例:一个外贸站从 Apache 迁到 OpenLiteSpeed,站长沿用原来的 WP Rocket 配置,忘记在 OLS 里加 rewrite 规则,结果静态 HTML 生成了但没人读,每个请求还是走 PHP,TTFB 从 120ms 涨到 400ms。后来换成 LiteSpeed Cache 并启用服务器级缓存,TTFB 降到 35ms。教训是:换服务器后必须重做缓存方案,配置不能照搬。
  4. LiteSpeed Cache 的 Crawler 配置过猛。并发和间隔设置不当会把自己的站点爬出高负载,小站建议低并发、长时间间隔。
  5. QUIC.cloud 配额用完没察觉。图片优化突然失效,需要去 QUIC.cloud 后台看配额。
  6. ESI 开了但主题不支持。WooCommerce 下启用 ESI 前要确认主题兼容,否则购物车小部件不更新。
  7. 只看首页速度。分类页、搜索页、单页的缓存命中率往往比首页低,要分别验证。

总结

选型逻辑一句话:服务器是 LiteSpeed 就用 LiteSpeed Cache,是 Nginx/Apache 就用 WP Rocket(或免费的同类方案),永远不要在同一站点上同时开两个缓存插件。预算只是次要因素——LiteSpeed Cache 免费但依赖 QUIC.cloud,WP Rocket 付费但自包含。决定之后,用 curl -I 验证命中头,用多次 TTFB 取平均,比任何主观感受都可靠。

选定之后,LiteSpeed Cache 插件完整配置教程 和 WP Rocket 配置全解析 分别给出两套方案的详细配置清单。

U
UFO_PF作者

专注 WordPress 生态的实战作者,内容以「可复制、可验证」为第一原则。

留下你的想法

邮箱地址不会被公开。带 * 的为必填项。