# Winsmo 宝塔 / PbootCMS 只读排查手册

日期：2026-06-30

本手册用于定位 Winsmo 公网详情页超时问题。用户已授权查看宝塔日志/配置，但操作边界仍是只读：不保存、不重启、不清缓存、不改配置。

## 当前状态

已知现象：

- `winsmo.com` 首页可以返回，但偏慢；
- 多个详情页在 5 秒爬虫预算下 0 字节超时；
- PbootCMS 后台 451、452、453 均为已发布；
- PbootCMS 产品内容列表页已只读加载成功，仅 4 条产品记录，未观察到浏览器控制台错误；
- 宝塔面板标签页已观察到，但 DOM/text/screenshot 自动读取连续超时并重置浏览器自动化内核，日志和配置尚未成功提取；
- 阿里云 ECS 控制台标签页也在 Chrome 只读接管时超时并重置自动化内核，CPU/内存/负载/磁盘 IO 等监控数据尚未提取；
- 2026-06-30 公网复测显示：9 个 URL、浏览器 UA + 爬虫 UA 共 18 次 5 秒预算检查全部失败；直连 `8.163.36.152` 时首页首字节约 10 秒，`/453.html` 20 秒无首字节；
- 问题更像详情页层渲染、缓存、伪静态、PHP-FPM、模板或源站性能问题。

结构化记录见：`data/winsmo-backend-performance-diagnosis.json`。

## 官方参考

PbootCMS 官方伪静态文档说明：Nginx 环境需要在后台开启伪静态，并在虚拟主机 `location` 中配置 rewrite 规则。参考：<https://www.pbootcms.com/docs/239.html>

PbootCMS 官方更新日志显示：官方最新版本已到 V3.2.15（2026-06-26），而 Winsmo 后台观察版本为 V3.2.11-20250416；近期版本涉及伪静态、HTML 缓存和安全修复。参考：<https://www.pbootcms.com/changelog/>

这不意味着现在就升级。升级、清缓存、改 rewrite 都是写操作，必须先备份并获得明确确认。

## 只读检查路径

### 1. 宝塔站点基础信息

查看但不修改：

- 站点根目录；
- 运行目录；
- PHP 版本；
- SSL 状态；
- 强制 HTTPS 状态；
- 是否启用防盗链、访问限制或特殊 UA 拦截。

目的：确认请求是否进入正确站点和正确 PHP 运行环境。

如果宝塔面板继续无法稳定读取，先改走阿里云 ECS 只读监控面板，查看 CPU、内存、负载、磁盘 IO、带宽和实例健康，不在宝塔里反复强刷。

如果阿里云控制台也无法通过自动化稳定读取，下一步应让用户手动打开 ECS 实例监控页，或在明确授权后使用服务器终端/宝塔终端执行只读命令，例如查看负载、PHP-FPM 进程、nginx 错误日志和慢日志。任何写操作仍需单独确认。

### 2. Nginx 伪静态 / 配置文件

查看但不保存：

- `location /` 规则；
- 是否存在 `!-e $request_filename` 判断；
- 是否 rewrite 到 `index.php?s=$1` 或 `index.php?p=$1`；
- `www`、HTTP、HTTPS 是否发生不一致跳转；
- 是否存在对 `.html` 的特殊规则；
- 是否站点部署在二级目录但 rewrite 没有对应调整。

目的：确认 PbootCMS 后台 URL 模式与 Nginx rewrite 是否一致。

### 3. Nginx 访问日志和错误日志

只读取测试时间点附近的摘要，不复制完整日志：

- `/453.html`、`/452.html`、`/451.html`；
- `/10.html`、`/11.html`、`/12.html`、`/18.html`、`/323.html`；
- HTTP 状态码；
- request time / upstream response time；
- 是否有 499、500、502、504；
- 是否进入 PHP upstream；
- 是否有 rewrite loop、file not found、permission denied。

注意：日志可能包含访客 IP、Cookie、Token。记录到项目文档时只写摘要，不保存原始敏感行。

### 4. PHP-FPM 日志 / 慢日志

只读查看：

- 请求详情页时是否有 PHP fatal error；
- 是否有 max execution time；
- 是否有 worker 不足；
- 是否有 memory exhausted；
- 是否有数据库锁或查询慢；
- 当前 PHP-FPM 版本和关键配置。

目的：判断详情页 0 字节超时是否发生在 PHP 渲染层。

### 5. PbootCMS 后台配置

只读查看：

- URL 模式 / 伪静态开关；
- 前端动态缓存；
- 缓存时间；
- 站点地图设置；
- 系统版本；
- 是否开启调试或异常显示。

不点击：

- 清理缓存；
- 在线升级；
- 保存设置；
- 生成静态；
- 删除冗余图片。

### 6. 模板层风险

只读查看模板文件名和结构，不编辑：

- 新闻详情模板；
- 产品详情模板；
- 案例详情模板；
- 是否共用同一详情模板；
- 是否有万能 SQL 标签；
- 是否有远程资源请求；
- 是否有嵌套列表或大循环；
- 是否每个详情页都加载大量推荐内容。

目的：如果多个详情页都慢，可能是共享详情模板存在昂贵逻辑。

## 记录格式

建议每个检查项只记录：

```text
检查项：
看到的现象：
是否可解释 5 秒超时：
证据强度：高 / 中 / 低
下一步建议：
是否需要写操作：是 / 否
```

不要记录完整日志、IP、Cookie、Token、后台密钥、数据库密码。

## 修复前门禁

如果找到疑似原因，也不要立即修改。先输出：

- 备份范围；
- 修改前截图；
- 拟修改内容；
- 回滚方式；
- 影响范围；
- 测试 URL；
- 用户确认语句。

只有用户明确确认后，才可以进行写操作。

## 与 GEO 项目的关系

在详情页问题修复前：

```text
doctorlucheng.com 静态知识库 = 第一阶段主承接
winsmo.com PbootCMS 新文章 = 第二渠道 / 待修复后验证
外部媒体、抖音、公众号 = 放大渠道
```

这样推进更稳：先把可控的机器可读事实源做出来，再把品牌官网新文章作为辅助信号补上。当前不覆盖官网已有文章。
