一台服务器到期换新的完整流程
发布时间:2026-07-30 09:17       
更新时间:2026-07-30 23:03
服务器到期换新,数据丢得最多的场景不是技术失败,而是流程跳步:急着切换,漏了某个角落的配置。按下面的顺序走,换机可以做到业务基本无感。
准备条件
列一张老机数据清单:站点目录、数据库、SSL 证书和私钥、crontab 定时任务、nginx 配置、环境变量、防火墙规则。新机提前开通,确认规格与老机对齐,别到切换当天才发现内存少了一半。老机的证书顺带检查有效期,用 openssl x509 -enddate -noout -in 证书路径 看一眼,快到期的先续期再搬。
分步操作
第一步,新机初始化:创建普通用户、配置 SSH 密钥登录、关闭 root 密码登录,软件版本装到与老机一致,用 nginx -v、mysql --version 逐项核对。
第二步,数据同步:文件用 rsync(增量同步工具)执行 rsync -avz --progress root@老机IP:/data/ /data/;数据库在老机用 mysqldump 导出,传到新机导入,之后抽查几张关键表的行数是否一致。
第三步,低峰切换:提前一两天把域名 DNS 的 TTL 调到 300 秒,切换时把解析记录指向新机 IP。切换后用 dig 你的域名 确认解析已生效,各地生效时间不同,TTL 提前调低的功夫就体现在这里。
第四步,观察期:老机保留三到七天,停止写入但保持只读待命。重点盯三样:新机负载与老机同期是否相当、定时任务有没有按点执行、第三方回调(支付通知、webhook)有没有正常打到新机。
验证与常见报错
切换后立即验证:curl -I http://新机IP 看响应是否正常,核心业务接口手工走一遍,上传、登录、下单这些带状态的流程重点点一遍。常见问题有三个:证书没拷全导致证书链不完整,浏览器报安全错误;crontab 忘了迁移,定时任务静默失效;防火墙没放行业务端口,本机 curl 通、外部访问不了。这三个都出在新机配置,跟老机无关。
观察期满确认无异常,再对老机做数据清理和退租,清理动作参考数据擦除的做法,别直接弃之不管。