1.
准备阶段:评估与清单
- 核查试用到期时间与剩余资源(CPU、内存、带宽)。
- 列出要迁移的项:网站文件、数据库、邮件、SSL、定时任务、用户和SSH密钥、防火墙规则。
- 记录当前IP、域名、DNS提供商、TTL设置、服务端口与依赖(Redis、Elastic、队列)。
2.
备份策略:先完整备份再动手
- 对文件:tar czf /root/site-backup-$(date +%F).tar.gz /var/www/your_site。
- 对数据库(MySQL):mysqldump -u root -p your_db > /root/your_db.sql。对Postgres:pg_dump -U postgres your_db > /root/your_db.sql。
- 导出crontab:crontab -l > /root/crontab.bak;导出用户:getent passwd username > /root/user-info.txt。把这些备份下载到本地或上传到第三方存储(S3、阿里OSS)。
3.
建立新环境:购买或申请新VPS
- 选好目标机房(仍选香港或近岸),比对带宽与流量计费策略。
- 使用相同或兼容的操作系统版本以减少兼容问题(例如都使用Ubuntu 20.04)。
- 配置基本安全:创建非root用户,设置SSH密钥,禁用密码登录,设置UFW或firewalld基础规则。
4.
数据传输:安全高效的复制方法
- 小文件:使用rsync增量同步,示例:rsync -azP --delete --exclude='cache' /var/www/ newuser@new_ip:/var/www/。
- 大量二进制或整个磁盘:先在源上tar打包,再scp或通过sftp传输。
- 数据库:在源上锁表(必要时)并mysqldump,然后scp到目标,导入:mysql -u root -p your_db < your_db.sql。
5.
逐项迁移服务配置
- Web服务:复制Nginx/Apache配置,注意listen ip与server_name。
- PHP/运行时:安装相同PHP版本和扩展,composer install --no-dev,npm build等。
- 队列/缓存:导出Redis数据(redis-cli --rdb dump.rdb)或使用RDB/AOF传输。
6.
SSL与证书迁移
- 推荐重新在新机上用Certbot申请Let’s Encrypt证书:certbot --nginx -d example.com。
- 若必须迁移现有证书,拷贝 /etc/letsencrypt/live/ 及 archive 与 renewal 配置,并确保权限;优先安全传输(scp -C)。
7.
DNS切换与TTL策略
- 迁移前48小时把域名TTL降到300(或更低),以便切换时快速生效。
- 切换步骤:同步完成并在目标上确认服务正常后,修改DNS A记录指向新IP。
- 为减少中断,可先用本地hosts文件在部分机器上验证新IP是否一切正常。
8.
上线前测试与流量切换
- 测试点:页面加载、API调用、文件上传、邮件发送、SSL链是否完整。
- 若使用数据库主从或双写,先把写流量切到新库并短暂停止源服务写入,确保最终一致性。
- 使用ab/wrk做一次轻负载压测,确认新机能承受预期并发。
9.
回滚计划与快照
- 在切换前在新旧主机都创建快照(若主机商支持)。
- 制定回滚步骤:如果新环境服务异常,立即把DNS回指旧IP并恢复写流量,或把故障服务停回到旧机器。
- 验证回滚时间窗口,提前通知用户与团队。
10.
邮件与第三方服务注意事项
- 邮件系统:若使用自建Postfix/Dovecot,注意反向DNS、SPF、DKIM、DMARC记录需更新并验证。
- 第三方API/回调:把新IP或域名更新到支付、短信、CDN等平台的白名单中,避免回调失败。
11.
试用到期与账单、合同注意
- 在试用期结束前确认是否会自动扣费或强制升级,必要时在控制面板中关闭自动付费或提前取消。
- 留存试用期间的账单、交易截图,若被误扣,凭证联系客服申请退款。
- 如需迁移至同家付费实例,询问是否能保留快照或延长试用以便平滑迁移。
12.
清理与安全收尾
- 在确认切换成功并稳定运行几天后,销毁旧机并确保已删除敏感数据(shred或使用主机商提供的安全擦除)。
- 更新监控与告警,设置自动快照/备份策略,定期演练恢复流程。
13.
常见问题:试用期被强制终止怎么办?
- 答:首先不要删除任何数据,立即联系主机商支持要求快照导出或导出备份;同时启动备份下载(数据库与文件)。若商家不给协助,使用ssh把数据rsync到自己临时机器或云盘,然后按上文在新机器恢复。
14.
常见问题:如何在切换时保证零数据丢失?
- 答:采用先同步再短暂停止写入的办法:1) 用rsync增量同步文件;2) 在业务低峰短暂停止应用写入并做最后一次数据库dump/增量binlog同步;3) 切换DNS并恢复写入。必要时使用数据库主从或双写方案避免停机窗口。
15.
常见问题:免费试用有哪些常见陷阱?
- 答:注意点包括自动续费、流量和快照收费、IP不允许出站某些端口、试用机型功能受限(无快照/无公网IP)。上线前确认这些限制并提前备份,避免试用期结束后数据被封锁或收费。
来源:试用期结束迁移策略vps香港主机免费试用经验总结