本指南聚焦站群整站迁移场景,覆盖从旧 RAK 服务器到新 RAK 服务器的全流程,核心目标是确保域名解析正常、数据完整无损、搜索引擎收录不受影响,兼顾新手友好与专业稳定性,适配站群规模化运维需求。

一、迁移前核心准备(避免 90% 故障)

1. 新服务器环境对齐(关键前置)

  • 系统版本一致:旧机用 CentOS 7.x,新机也选 7.x;旧机 Ubuntu 20.04,新机同版本,避免兼容性报错。
  • 软件版本匹配:Web 服务器(Nginx/Apache)、PHP/Java、MySQL/PostgreSQL、Redis/Memcached 等版本与旧机完全一致。
  • 资源预留达标:CPU、内存、磁盘 IO、带宽≥旧机,站群多站点建议预留 30% 冗余,避免迁移后卡顿。
  • 网络配置:新机开启与旧机一致的防火墙规则(开放 80/443 端口、SSH 端口),配置好高防策略(防 CC、防黑防挂马)。

2. 全量数据备份(底线保障)

  • 网站文件备份:
    • 有面板(如宝塔):直接在旧机面板执行全量备份(含网站文件 + 数据库),下载到本地 / 私有存储,确认备份包完整。
    • 无面板:用rsync -avz 旧机用户@旧机IP:/网站根目录/ 本地备份目录/(增量同步,适合大体积站群)或 SFTP/FTP 客户端(如 FileZilla)下载所有站点文件(默认路径通常为/var/www//home/)。
  • 数据库备份:
    • 通用命令(MySQL):mysqldump -u 用户名 -p 数据库名 > 站点_日期_backup.sql,导出后核对表结构和数据量。
    • 批量站群:编写脚本批量导出所有站点数据库,避免手动操作遗漏。
  • 配置文件备份:单独备份 Nginx/Apache 虚拟主机配置(/etc/nginx/conf.d//etc/httpd/conf.d/)、SSL 证书(/etc/nginx/ssl/)、定时任务(crontab -l > cron_backup.txt)。
  • 关键提醒:备份完成后必须验证可恢复性,在本地测试解压、导入,避免迁移时发现备份损坏。

3. 站群专属规划(避免收录损失)

  • 梳理站点清单:记录所有站点域名、对应目录、数据库名、IP 绑定关系,避免漏迁。
  • 设定迁移窗口:选业务低峰期(如凌晨 2-4 点),提前 1-2 天通知核心用户,降低影响。
  • 准备回滚方案:旧服务器暂不销毁,保留 48 小时以上,若迁移失败可快速切回原环境。
  • 域名解析准备:提前将域名 TTL 值调低至300 秒(5 分钟),缩短 DNS 切换生效时间。

二、分阶段迁移实操(无缝核心)

阶段 1:增量同步(减少停机时间)

目的:提前同步大部分数据,仅在最终切换时同步增量数据,最大化缩短停机时长。

  1. 同步网站文件:
    • rsync -avz -e ssh 旧机用户@旧机IP:/网站根目录/ 新机目标目录/(首次全量同步,后续增量同步),或用 RAKsmart 控制台的批量传输工具(支持大文件、多站点并行)。
    • 注意:保持文件权限一致,执行chown -R www-data:www-data 新机网站目录(Nginx/Apache 用户组)、chmod -R 755 新机网站目录
  2. 同步数据库:
    • 先将旧机数据库备份包上传至新机/tmp/目录,执行mysql -u 新机用户名 -p 新机数据库名 < /tmp/数据库备份.sql导入。
    • 后续增量同步:用mysqldump --single-transaction -u 用户名 -p 数据库名 | ssh 新机用户@新机IP "mysql -u 用户名 -p 数据库名"(无锁同步,避免影响业务)。
  3. 同步配置与定时任务:
    • 复制 Nginx/Apache 配置到新机对应目录,执行nginx -t(验证配置语法)、systemctl restart nginx重启服务。
    • 导入定时任务:crontab cron_backup.txt,并测试执行(如bash -x 脚本路径排查错误)。

阶段 2:最终切换(核心步骤)

  1. 停止旧机业务:
    • 执行systemctl stop nginxsystemctl stop mysql,禁止新数据写入,确保数据一致性。
    • 最后一次增量同步:执行阶段 1 的文件 + 数据库同步命令,拉取最后增量数据。
  2. 配置新机访问:
    • 临时测试:修改本地电脑hosts文件(Windows:C:\Windows\System32\drivers\etc\hosts;Mac/Linux:/etc/hosts),添加新机IP 站点域名,本地访问测试站点是否正常(页面加载、数据库连接、功能交互)。
    • 关键检查:
      • 静态资源(图片、JS、CSS)是否加载正常;
      • 动态功能(登录、提交、支付)是否可用;
      • 数据库数据是否完整(核对核心表数据量);
      • SSL 证书是否生效(浏览器地址栏显示安全锁);
      • 定时任务是否执行(如日志清理、数据备份)。
  3. 切换 DNS 解析:
    • 登录域名服务商控制台(如阿里云、腾讯云),将所有站点域名的 A 记录 / CNAME 指向新机 IP
    • 等待 DNS 生效:TTL=300 秒时,通常 5-10 分钟可全局生效,可通过ping 站点域名dig 站点域名 +short验证是否指向新机 IP。

阶段 3:迁移后验证与优化(保收录)

  1. 核心验证(确保无影响):
    • 访问验证:用不同设备(手机、电脑)、不同网络访问所有站点,确认可正常打开,无 500/502/404 错误。
    • 收录验证:通过百度搜索资源平台、Google Search Console 查看站点收录状态,提交站点地图(sitemap),确保收录不下降。
    • 性能验证:用 Pingdom、GTmetrix 测试加载速度,对比旧机,确保新机带宽、节点(如香港 / 硅谷 / 新加坡)适配目标用户群体。
    • 监控配置:在新机部署监控工具(如 Zabbix、Prometheus),设置 CPU、内存、带宽、异常访问告警,实时监控站群状态。
  2. 站群专属优化:
    • 批量配置高防:针对站群批量设置防火墙规则,开启 CC 攻击防护、防黑防挂马巡检,配置数据定时备份与恢复策略、宕机 / 流量异常告警。
    • 日志分析:迁移后开启 Nginx/Apache 详细日志,定期分析访问流量、异常请求,优化站点性能。
    • 批量管理适配:若用批量管理工具,同步配置新机的批量操作权限,确保后续站群运维高效。

三、避坑清单(新手必看)

  1. 绝对禁止:未备份直接迁移、新旧系统版本不一致、直接修改 DNS 不测试、未调低 TTL 直接切换(会导致 DNS 生效慢,长时间不可访问)。
  2. 常见错误:
    • 数据库连接信息未更新:新机必须修改站点配置(如 WordPress 的wp-config.php)中的数据库用户名、密码、主机名(通常为localhost)。
    • 硬编码 IP 未替换:站点配置文件、数据库中若有旧机 IP 硬编码,必须替换为新机 IP,否则会出现资源加载失败。
    • 忽略邮件配置:若站群有邮件功能,同步更新 MX 记录、SPF/DKIM/DMARC 记录,避免邮件发件失败。
  3. 收录保护:
    • 迁移期间保持站点正常运行,不随意修改 robots.txt、不删除站点核心页面;
    • 若更换机房节点(如从美国洛杉矶换新加坡),需在搜索引擎平台提交节点变更说明,避免被判定为站点迁移。

四、工具速查(新手友好)

表格

场景推荐工具核心命令 / 操作
文件同步rsync/SFTPrsync -avz 旧机IP:/目录 新机目录
数据库备份 / 导入mysqldump/mysql备份:mysqldump -u 用户名 -p 库名 > 备份.sql;导入:mysql -u 用户名 -p 库名 < 备份.sql
配置验证nginx -t验证 Nginx 配置语法,避免启动失败
监控UptimeRobot/Zabbix实时监控站点可用性、服务器状态
批量操作站群批量管理工具适配 RAKsmart 站群批量管理功能,高效运维

五、总结

RAKsmart 站群迁移的核心是 **“先对齐、再备份、增量同步、测试后切换、全程验证”**,重点把控环境一致性、数据完整性、DNS 切换效率三大环节,既能保障单站点正常运行,也能维护站群整体收录与流量稳定。迁移完成后,建议保留旧机 48 小时以上,确认所有站点无异常后再销毁,彻底规避回滚风险。