Trống Đồng Đông Sơn

当进行大规模部署 优化 OpenLiteSpeed Cloudflare 缓存 对于运行在 CyberPanel 上的 WordPress 系统,许多系统管理员和开发人员都会遇到静态文件(CSS、JS、字体)无法保持缓存,或升级后发生冲突导致网站界面崩溃的问题。本文汇总了一份从实际基础设施调试中总结出的配置手册(Playbook),彻底解决 HTTP Header 与版本参数冲突问题。.

技术基础架构模型(应用 Stack)

本指南中的解决方案适用于当前常见的技术架构模型,并经过验证:

  • Web 服务器: 集成在 CyberPanel 上的 OpenLiteSpeed(OLS)。.
  • CMS: WordPress。.
  • 缓存插件: Super Page Cache for Cloudflare。.
  • 内容分发网络: Cloudflare CDN(Free / Pro)。.

优化 openlitespeed cloudflare 缓存

阶段 1:优化 OpenLiteSpeed 服务器层(Server Level)

本阶段目标是在整个服务器上的所有网站中,为 100% 静态文件设置 180 天(6 个月)的缓存规则(Expires Settings),无需手动调整每个虚拟主机。.

在 OpenLiteSpeed WebAdmin 上执行步骤:

  1. 登录 OpenLiteSpeed WebAdmin 界面 -> 选择 Server Configuration -> 切换到选项卡 常规.
  2. 向下滚动到区域 Expires Settings, 点击选择 编辑 并输入以下值:
  3. 启用 Expires: 选择 Yes.
  4. Expires Default: 输入 15552000 (相当于 180 天)。.
  5. 按类型 Expires: 准确复制下面的 MIME Type 列表(已包含 text/javascript):
image/jpeg=A15552000, image/png=A15552000, image/webp=A15552000, image/gif=A15552000, image/svg+xml=A15552000, image/x-icon=A15552000, text/css=A15552000, text/javascript=A15552000, application/javascript=A15552000, application/x-javascript=A15552000, font/woff=A15552000, font/woff2=A15552000, application/vnd.ms-fontobject=A15552000, font/ttf=A15552000, application/x-font-ttf=A15552000

填写完成后,点击按钮 保存 并点击图标 Graceful Restart (屏幕右上角的绿色按钮)以应用整个服务器的更改。.

关于 MIME Type 的重要注意事项: 上述字符串必须包含 text/javascript=A15552000. 实际上 OpenLiteSpeed 通常会将 JavaScript 文件的 Content-Type Header 返回为 text/javascript 代替 application/javascript 理论标准。如果缺少此 MIME Type,所有 JS 文件都会失去缓存。.

阶段 2:配置 Super Page Cache For Cloudflare 避免冲突

此步骤的目标是阻止插件自动将 Apache 的文件写入规则 .htaccess 造成与 OpenLiteSpeed 冲突,同时通过 API 引导 Cloudflare CDN 识别更长的缓存时间。.

进入 WordPress 控制面板中的插件设置 Super Page Cache for Cloudflare 并设置以下 3 个参数:

  • 为静态资源添加浏览器缓存规则: 选择 No (关闭自动写入 Apache 规则到 .htaccess 文件的功能)。.
  • 使用 Web 服务器规则覆盖缓存控制 Header…: 选择 No (避免覆盖导致丢失 OLS 设置的 HTTP Header)。.
  • 浏览器 Cache-Control 最大年龄: 输入 15552000 (6 个月)或 31536000 (1 年),用于通知 Cloudflare 保留静态资源缓存。.

点击按钮 更新设置 以保存全部配置。.

阶段 3:技术检查流程(Verify & QA)

为了确保设置 优化 openlitespeed cloudflare 缓存 准确运行,需要通过命令行直接检查,而不是仅查看浏览器界面。.

步骤 1:清除整个系统缓存

点击按钮 清除所有缓存 在 Super Page Cache 插件工具栏中。插件会发送 API 命令,要求 Cloudflare 清理整个 EDGE Server 系统中的缓存数据。.

步骤 2:运行 HTTP Header 检查命令

打开终端/命令行,并向任意 CSS 或 JS 文件发送检查请求(必须保留版本参数 ?ver=xxx):

curl -I "https://domain-cua-ban.com/wp-includes/js/jquery/jquery.min.js?ver=3.7.1"

步骤 3:通过标准(PASS)

连续执行 curl 命令 2 到 3 次。当同时满足以下 3 个指标时,结果被视为 100% 成功:

  • HTTP/2 200: 成功直接访问静态文件,没有遇到 301 重定向响应。.
  • cache-control: public, max-age=15552000: 确认 OpenLiteSpeed 服务器已为文件设置 180 天 TTL。.
  • cf-cache-status: HIT: 确认 Cloudflare 已成功缓存包含查询字符串参数的文件。.

调试基础设施优化过程中的 4 个血泪经验

在实际故障处理中,管理员需要严格遵守 4 个重要技术原则:

  • 不要删除查询字符串(Query String ?ver=): 绝对不要使用代码或插件删除文件版本参数。删除 query string 并不会真正提升 PageSpeed,反而会破坏 Cache Busting 机制,导致升级新界面后客户浏览器显示界面错误。你可以参考更多 tài liệu kỹ thuật OpenLiteSpeed 以深入了解该 Web 服务器处理静态文件的机制。.
  • 不要开启干预 .htaccess 的选项: OpenLiteSpeed 处理 rewrite rule 的方式不同于传统 Apache。所有缓存优化插件中标注“Writes into .htaccess”的功能都需要彻底关闭。.
  • 不要通过短链接或存在 301 错误的链接测试: 始终使用直接静态文件 URL。如果测试命令返回 HTTP 301 Redirect,获得的结果只是 HTML 页面数据,在调试静态文件时完全没有价值。.
  • 检查服务器实际 Content-Type: 始终使用 curl -I 在配置 ExpiresBytype 之前,准确确定 OpenLiteSpeed 对每种文件格式返回的 Content-Type Header。.

结论与专业基础设施优化方案

同步应用上述流程可以让 WordPress 网站达到最佳响应速度,为 VPS 服务器减少最高 80% 的 RAM 和 CPU 负载。如果您正在寻找基础设施咨询方案或整体解决方案,请参考 DPS.MEDIA 网站设计与基础设施优化服务. DPS 技术团队始终准备通过 Hotline/Zalo 协助企业全面优化性能: 0961545445.

Ý kiến bạn đọc (9)

DPS SECURITY

Đăng nhập để bình luận

Đăng nhập nhanh 1-chạm bằng Google để chia sẻ ý kiến của bạn về bài viết.