没有不值得去解决的问题,也没有不值得去学习的技术!

分类: 云厂商

  • 一次 WordPress 生产站间歇性 502 故障排查记录。阿里云 ECS 一度出现 CPU 100%、Load 超过 9、PHP-FPM Socket 队列达到 510/511,大量请求返回 499 和 502。通过分析 Nginx 日志发现,最近 20000 条请求中有 18455 条携带 Sogou web spider/4.0 User-Agent,并以每分钟约 500~700 次的频率持续遍历网站。随后在 EdgeOne 中通过 *Sogou* User-Agent 规则进行边缘拦截,Sogou UA 请求降至 0,PHP-FPM 队列恢复为 0/511,CPU 空闲率最高恢复到 97%,后台连续请求全部返回 HTTP 200。此次排查说明,服务器出现性能瓶颈时,不应急于升级配置,应先确认异常流量和真正的资源消耗来源。

  • 本文记录了 WordPress 中文站与英文站的 CDN 缓存命中率优化过程。通过分析 EdgeOne 与 Cloudflare 的请求状态、响应流量、HTTP 状态码和资源类型,确认大量 MISS 主要来自 WordPress HTML 长尾页面,而原有 1~4 小时的缓存时间偏短。将两边的 HTML 边缘缓存 TTL 统一调整为 12 小时,并补全个性化 Cookie 绕过规则后,Cloudflare Cache Hit Rate 从 16.76% 提升至 20.25%,EdgeOne 请求 Hit 从约 50.5% 提升至 58.5%,流量 Hit 从约 26.6% 提升至 35.6%,验证了统一延长缓存时间的实际效果。

  • 将 media、en 和 admin 拆出 EdgeOne 后,我使用 BOCE、中国成都移动宽带和 WebPageTest,对中文站、英文站及媒体图片进行了实际性能测试。结果显示,中文站继续使用 EdgeOne 后,在中国大陆和海外均保持良好性能;英文站通过 Cloudflare 在新加坡和美国的首屏表现稳定,但中国大陆移动、联通线路访问明显较慢;media 图片资源是当前架构中波动最明显的部分。综合成本、性能与后台稳定性来看,现有分层架构仍值得保留,但需要继续关注 Cloudflare 在中国大陆线路中的稳定性及图片对 LCP 的影响。

  • EdgeOne 个人版每月包含 50GB 安全加速流量和 300 万次安全加速请求。套餐启用几天后,我根据实际消耗速度判断,现有额度无法支撑完整计费周期,因此陆续将 media、en 和 admin 三个域名迁出 EdgeOne,只保留中文主站 www。本文根据迁移前后的真实流量与请求数据,按加量包实际消耗比例估算月度成本。结果显示,当前过渡周期预计成本约为 26.2 元;拆分完成后的稳定月度成本约为 22.2 元;如果三个域名都未迁出,月度成本约为 49.6 元。此次拆分预计可将 EdgeOne 长期成本降低约 55%,每月节省约 27.4 元。

  • 为解决 WordPress 后台经过 EdgeOne 时出现的核心升级 524 超时问题,本文将后台迁移至独立的 admin.shuijingwanwq.com 子域名,并通过 DNS Only 直连源站。整个方案包含独立 Nginx 虚拟主机、ECC HTTPS 证书、W3 Total Cache 多域名兼容补丁、WordPress MU 插件 URL 重写、前台后台入口统一跳转,以及 admin-ajax.php、admin-post.php 和文章密码提交接口的保留处理。迁移完成后,后台资源不再经过 EdgeOne 或 Cloudflare,www、en 及裸域的后台入口统一跳转至 admin,并成功通过新后台域名将 WordPress 升级到 7.0.1,未再出现 524、维护模式残留或 core_updater.lock。

  • 本文继续记录 WordPress + Polylang 英文站从 /en/ 迁移到 en.shuijingwanwq.com 之后的 CDN 与缓存配置过程。前一篇文章已经解决了源站侧的 Polylang 多域名配置、W3 Total Cache Page Cache 兼容、Redis Object Cache 旧配置缓存等问题。本文重点处理 en.shuijingwanwq.com 接入 Cloudflare、启用 HTML 页面缓存、验证首页与文章页 MISS 到 HIT、确认登录用户 Cookie、REST API、登录页和后台入口不会被缓存,并最终通过 Nginx 将非 www 域名下的后台入口统一 301 到 www.shuijingwanwq.com。

  • 这篇博客记录了一次 WordPress 核心升级失败的完整排查过程:在从 WordPress 7.0 升级到 7.0.1 时,后台反复出现 524 超时和“另一更新正在进行”的提示。通过检查 `core_updater.lock`、WordPress 当前版本、升级临时目录、文件权限以及 EdgeOne 转发状态,最终确认 WordPress 核心文件并未半升级,问题主要集中在经过 CDN 代理后的后台长请求超时。文章进一步总结出:前台页面适合继续走 EdgeOne 缓存,而 WordPress 后台更新、插件安装等维护操作,后续应考虑通过独立后台域名或源站直连方式处理,以避免 CDN 对后台长请求造成干扰。

  • 这篇文章基于前一篇将 WordPress `/wp-content/uploads/` 媒体库资源迁移到 `media.shuijingwanwq.com + Cloudflare` 的实践,继续分析 EdgeOne 流量成本控制问题。通过 EdgeOne 指标发现,虽然 uploads 图片和附件已经从 EdgeOne 拆出,但 `www.shuijingwanwq.com/en/` 英文路径仍占今日 EdgeOne 流量约三分之一。文章进一步评估了页面缓存、Bot 流量、`/en/` 路径占比、Nginx 现有 301 规则冲突风险,以及将英文站迁移到 `en.shuijingwanwq.com + Cloudflare` 的收益与代价。最终结论是:英文站拆分到子域名有助于显著降低 EdgeOne 流量,但不能仓促执行,需要先确认 Polylang、多语言链接、canonical、hreflang、sitemap、Cloudflare 接入和 301 跳转规则,确保旧 `/en/*` 路径能够一次跳转到最终英文子域名地址。

  • 在将 WordPress 上传资源迁移到独立的 media.shuijingwanwq.com 子域名,并采用 EdgeOne + Cloudflare 混合 CDN 架构后,发现 Cloudflare 中原本针对 WordPress 主站配置的 Cache Rules 已经不再适用于新的架构。 本文记录了这次缓存规则调整过程:将 Cloudflare 的职责从整个 WordPress 网站 CDN 调整为仅负责 media.shuijingwanwq.com 静态资源缓存;重新设计基于 Host 的缓存规则;为图片、附件等长期不变的上传资源设置合理 TTL;同时禁用已经迁移到 EdgeOne 后不再需要的 WordPress 缓存规则。 通过这次调整,最终形成了更清晰的 CDN 分工: EdgeOne 负责 www.shuijingwanwq.com WordPress 主站及非 uploads 目录资源; Cloudflare 负责 media.shuijingwanwq.com 下的 uploads 静态资源缓存。 本文也总结了 CDN 迁移过程中容易遗漏的缓存策略同步问题,为类似的多 CDN 架构调整提供参考。

  • 这篇文章记录了一次 EdgeOne 流量成本排查与优化过程:在发现 EdgeOne 个人版 50GB 套餐流量消耗过快后,先通过指标分析定位到 `/wp-content/uploads/` 上传资源和站点 Logo 是主要流量来源。随后将 Logo 从 1024×1024、884KB 压缩为 512×512、173KB,并进一步把 WordPress 媒体库上传资源迁移到 `media.shuijingwanwq.com` 子域名,由 Cloudflare 承接图片、ZIP、附件等大体积静态资源流量。 文章重点介绍了如何使用 OneinStack 为 `media.shuijingwanwq.com` 创建独立虚拟主机,将其根目录指向 WordPress 的 `wp-content/uploads` 目录,并禁止 PHP 执行以降低安全风险。随后通过修改 WordPress 的 `upload_url_path`,让前台页面自动输出 media 域名资源地址,同时在 EdgeOne 中添加 `/wp-content/uploads/*` 到 media 子域名的 301 跳转规则,确保旧资源地址也能自动转发到 Cloudflare。 这次优化并不是把整个网站重新迁回 Cloudflare,而是保留主站 HTML 页面继续走 EdgeOne,以维持中国大陆用户尤其是移动、联通网络下的…

👨‍💻 个人品牌

王世强|PHP / Go 技术顾问

15+ 年 Web 后端开发经验,专注于系统维护、架构优化、性能调优及 Linux 运维。

持续运营技术博客 10+ 年,累计发布 1000+ 篇原创技术文章。

为创业团队、中小企业及独立开发者提供长期技术支持与远程合作服务。

👉 关于我 & 合作

.env (14) add (16) AI 翻译 (30) Apache (13) Array (19) A Tour of Go (67) Cache (13) CentOS (23) ChatGPT (20) ChatGPT Plus (15) chrome (19) Cloudflare (33) Codex (22) composer (42) composer.json (22) composer install (13) composer update (14) console (16) Container (25) curl (16) delete (31) Docker (32) Dockerfile (15) EdgeOne (33) environment variable (19) error (24) file (15) filter (20) Git (27) GitHub (23) Gitlab (15) GLM-5.2 (26) Go (61) go-tour-i18n (14) Google AdSense (29) Go 语言 (24) GraphQL (24) GraphQL API (14) Gutenberg (34) http (21) https (22) Interface (19) Jquery (13) json (24) Laravel (37) Laravel 6 (55) Laravel 9 (25) Lighthouse (17) Lighthouse 5 (14) Linux (22) Migrate (13) Module (17) MySQL (78) MySQL 5.7 (22) Nginx (63) normalize.css (28) OKX (15) OneinStack (21) PHP (67) php-fpm (19) php.ini (24) PHP 7.1.12 (22) PHP 7.4 (26) phpmyadmin (15) PhpStorm (24) Polylang (57) postman (18) Query (17) queue (16) Rancher (24) Redis (50) response (13) RESTful (27) RESTful API (23) Shopify (19) SlyTranslate (20) SQL (24) String (14) TortoiseGit (14) Twenty Twenty-Five (20) Ubuntu (40) update (20) VPN (17) W3 Total Cache (37) Windows 10 (46) WireGuard (28) WordPress (131) WordPress 多语言 (13) WPCode (23) Wstunnel (15) Yii (40) Yii 2 (70) Yii 2.0 (51) ZgoCloud (13) 多语言翻译 (35) 技术博客 (15) 故障排查 (15) 数据库迁移 (16) 浏览器 (14) 阿里云 (19)

2026 年 9 月
 123456
78910111213
14151617181920
21222324252627
282930