改动服务器邻居网站之前,保存原始状态的核心是:把“改动前实际存在的内容”和“改动前实际生效的配置”分别固定下来,形成可回看、可对比、可恢复的证据。对服务器邻居网站来说,这既包括你自己站点的文件与配置,也包括同一服务器上其他站点可能影响你的那部分环境信息。只截图不备份、只备份首页不备份配置,都不算完整保存。
服务器邻居网站场景下,改动往往涉及站点文件、服务器配置、解析记录和抓取相关文件。建议按下面四类收集:
robots.txt、站点地图文件、页面上的 <meta name="robots"> 标签、HTTP 响应头。注意 robots.txt 的抓取限制不等于可靠的索引移除,保存它只是保留改动依据,不能当作移除手段。保存动作要满足一个标准:换一个人、换一台机器,也能看出改动前是什么样。可以按以下步骤执行:
index.php.20240601.bak,不要只复制被改的那几行。robots.txt 保存原始文本,同时用命令记录当前生效状态,例如保存 curl -I 的响应头输出。判断保存是否合格,可以问三个问题:能不能还原到改动前?能不能证明改动前返回的是哪个状态码?能不能区分“我改的”和“邻居造成的”?如果有一个答不上来,说明原始状态还没保存完整。
保存原始状态不只是为了回滚,也是为了后续定位原因。以下检查项建议在改动前完成:
curl -I 记录目标 URL 的状态码和关键响应头,判断改动前是正常返回、重定向还是错误。robots.txt 原文,并分别核查不同搜索引擎对它的读取结果。不同搜索引擎支持情况须分别核查,不能用一个引擎的结果推断另一个。举例来说(假设场景):你准备修改服务器上 A 站点的重写规则,同时同服务器还有 B、C 两个站点。改动前你保存了 A 的配置文件、robots.txt、首页响应头和 B、C 的域名解析记录。改动后 A 出现 404,你可以先对比保存的响应头,判断是规则写错还是邻居站点占用了资源。如果没有保存 B、C 的基线,就无法排除邻居因素。
从交付结果倒推,改动前至少应留下这些材料:一份变更说明,写清范围、时间和责任人;一组带时间标记的原始文件副本;一份配置与响应头的文本记录;一份邻居站点与环境基线。验收时逐项核对:文件能否打开、记录能否对应到具体 URL、基线是否覆盖同服务器其他站点。任何一项缺失,都应在改动前补齐,而不是等出问题后再补。
下一步,先列出本次要改动的文件和配置清单,再按上面的四类逐项保存,最后用一条命令或一次访问验证保存内容与线上当前状态一致,确认后再开始改动。