本指南聚焦站群整站迁移场景,覆盖从旧 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,导出后核对表结构和数据量。 - 批量站群:编写脚本批量导出所有站点数据库,避免手动操作遗漏。
- 通用命令(MySQL):
- 配置文件备份:单独备份 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:增量同步(减少停机时间)
目的:提前同步大部分数据,仅在最终切换时同步增量数据,最大化缩短停机时长。
- 同步网站文件:
- 用
rsync -avz -e ssh 旧机用户@旧机IP:/网站根目录/ 新机目标目录/(首次全量同步,后续增量同步),或用 RAKsmart 控制台的批量传输工具(支持大文件、多站点并行)。 - 注意:保持文件权限一致,执行
chown -R www-data:www-data 新机网站目录(Nginx/Apache 用户组)、chmod -R 755 新机网站目录。
- 用
- 同步数据库:
- 先将旧机数据库备份包上传至新机
/tmp/目录,执行mysql -u 新机用户名 -p 新机数据库名 < /tmp/数据库备份.sql导入。 - 后续增量同步:用
mysqldump --single-transaction -u 用户名 -p 数据库名 | ssh 新机用户@新机IP "mysql -u 用户名 -p 数据库名"(无锁同步,避免影响业务)。
- 先将旧机数据库备份包上传至新机
- 同步配置与定时任务:
- 复制 Nginx/Apache 配置到新机对应目录,执行
nginx -t(验证配置语法)、systemctl restart nginx重启服务。 - 导入定时任务:
crontab cron_backup.txt,并测试执行(如bash -x 脚本路径排查错误)。
- 复制 Nginx/Apache 配置到新机对应目录,执行
阶段 2:最终切换(核心步骤)
- 停止旧机业务:
- 执行
systemctl stop nginx、systemctl stop mysql,禁止新数据写入,确保数据一致性。 - 最后一次增量同步:执行阶段 1 的文件 + 数据库同步命令,拉取最后增量数据。
- 执行
- 配置新机访问:
- 临时测试:修改本地电脑
hosts文件(Windows:C:\Windows\System32\drivers\etc\hosts;Mac/Linux:/etc/hosts),添加新机IP 站点域名,本地访问测试站点是否正常(页面加载、数据库连接、功能交互)。 - 关键检查:
- 静态资源(图片、JS、CSS)是否加载正常;
- 动态功能(登录、提交、支付)是否可用;
- 数据库数据是否完整(核对核心表数据量);
- SSL 证书是否生效(浏览器地址栏显示安全锁);
- 定时任务是否执行(如日志清理、数据备份)。
- 临时测试:修改本地电脑
- 切换 DNS 解析:
- 登录域名服务商控制台(如阿里云、腾讯云),将所有站点域名的 A 记录 / CNAME 指向新机 IP。
- 等待 DNS 生效:TTL=300 秒时,通常 5-10 分钟可全局生效,可通过
ping 站点域名或dig 站点域名 +short验证是否指向新机 IP。
阶段 3:迁移后验证与优化(保收录)
- 核心验证(确保无影响):
- 访问验证:用不同设备(手机、电脑)、不同网络访问所有站点,确认可正常打开,无 500/502/404 错误。
- 收录验证:通过百度搜索资源平台、Google Search Console 查看站点收录状态,提交站点地图(sitemap),确保收录不下降。
- 性能验证:用 Pingdom、GTmetrix 测试加载速度,对比旧机,确保新机带宽、节点(如香港 / 硅谷 / 新加坡)适配目标用户群体。
- 监控配置:在新机部署监控工具(如 Zabbix、Prometheus),设置 CPU、内存、带宽、异常访问告警,实时监控站群状态。
- 站群专属优化:
- 批量配置高防:针对站群批量设置防火墙规则,开启 CC 攻击防护、防黑防挂马巡检,配置数据定时备份与恢复策略、宕机 / 流量异常告警。
- 日志分析:迁移后开启 Nginx/Apache 详细日志,定期分析访问流量、异常请求,优化站点性能。
- 批量管理适配:若用批量管理工具,同步配置新机的批量操作权限,确保后续站群运维高效。
三、避坑清单(新手必看)
- 绝对禁止:未备份直接迁移、新旧系统版本不一致、直接修改 DNS 不测试、未调低 TTL 直接切换(会导致 DNS 生效慢,长时间不可访问)。
- 常见错误:
- 数据库连接信息未更新:新机必须修改站点配置(如 WordPress 的
wp-config.php)中的数据库用户名、密码、主机名(通常为localhost)。 - 硬编码 IP 未替换:站点配置文件、数据库中若有旧机 IP 硬编码,必须替换为新机 IP,否则会出现资源加载失败。
- 忽略邮件配置:若站群有邮件功能,同步更新 MX 记录、SPF/DKIM/DMARC 记录,避免邮件发件失败。
- 数据库连接信息未更新:新机必须修改站点配置(如 WordPress 的
- 收录保护:
- 迁移期间保持站点正常运行,不随意修改 robots.txt、不删除站点核心页面;
- 若更换机房节点(如从美国洛杉矶换新加坡),需在搜索引擎平台提交节点变更说明,避免被判定为站点迁移。
四、工具速查(新手友好)
表格
| 场景 | 推荐工具 | 核心命令 / 操作 |
|---|---|---|
| 文件同步 | rsync/SFTP | rsync -avz 旧机IP:/目录 新机目录 |
| 数据库备份 / 导入 | mysqldump/mysql | 备份:mysqldump -u 用户名 -p 库名 > 备份.sql;导入:mysql -u 用户名 -p 库名 < 备份.sql |
| 配置验证 | nginx -t | 验证 Nginx 配置语法,避免启动失败 |
| 监控 | UptimeRobot/Zabbix | 实时监控站点可用性、服务器状态 |
| 批量操作 | 站群批量管理工具 | 适配 RAKsmart 站群批量管理功能,高效运维 |
五、总结
RAKsmart 站群迁移的核心是 **“先对齐、再备份、增量同步、测试后切换、全程验证”**,重点把控环境一致性、数据完整性、DNS 切换效率三大环节,既能保障单站点正常运行,也能维护站群整体收录与流量稳定。迁移完成后,建议保留旧机 48 小时以上,确认所有站点无异常后再销毁,彻底规避回滚风险。
