1. 迁移前准备与检查
在国内源主机与阿里云轻量服务器上确认系统环境(操作系统、PHP/Node/数据库版本)、磁盘空间与带宽;提前在阿里云控制台创建轻量实例(选择香港节点)、设定安全组开放 22/80/443 端口;把 DNS TTL 提前降到 300s 或更低,至少提前 24 小时。
2. 完整备份:文件与数据库
在源主机上停止写入或启用维护模式,然后执行:1) 文件打包:cd /var/www && tar -czf /root/site_files_$(date +%F).tar.gz . 2) 数据库导出:mysqldump -u root -p --single-transaction --quick --lock-tables=false dbname > /root/db_$(date +%F).sql。若数据库大可用 mydumper 或分片导出。
3. 快速增量传输方法
首次传输可用 scp 或 rsync:rsync -avz --progress -e "ssh -p 22" /var/www/ root@目标IP:/var/www/ 。推荐 rsync 做首次和最终增量同步(最后切换前再次 rsync 保证数据一致)。若站点大文件多,考虑先上传打包文件再远程解压。
4. 数据库导入到轻量服务器
把 db.sql 通过 scp 上传到轻量服务器:scp /root/db.sql root@目标IP:/root/。登录后创建数据库与用户(mysql -u root -p);导入:mysql -u user -p dbname < /root/db.sql。注意字符集与排序规则一致(--default-character-set=utf8mb4)。
5. 配置环境与依赖
在目标服务器安装相同版本的 PHP/Nginx/Apache、扩展、Composer、Node 等:apt/yum 安装所需包,进入站点目录执行 composer install、npm ci 并构建前端资源;确保 php.ini、php-fpm 与 Nginx/Apache 配置与原环境兼容。
6. SSL 证书与域名绑定
迁移证书可复制 /etc/letsencrypt 或重新申请证书。推荐使用 DNS 或 HTTP 验证重申请,若使用阿里云负载或 CDN,关注证书与域名绑定流程。测试 HTTPS 在目标服务器可用后再切换流量。
7. 权限、SELinux 与计划任务
设置文件权限:chown -R www-data:www-data /var/www && find /var/www -type d -exec chmod 755 {} \; 。检查 cron、systemd 服务、队列 worker 是否已在新服务器配置并启用(systemctl enable --now)。若有 SELinux,请按需配置或禁用。
8. 测试环境与 HOSTS 验证
在本地电脑修改 /etc/hosts 指向新 IP 测试站点功能:访问页面、提交表单、文件上传、支付回调等关键流程;检查日志 /var/log/nginx、PHP、应用日志是否有错误。
9. 最终增量同步与流量切换
在确认测试无误后,短暂停止源站写入(开启维护页面),进行最后一次 rsync 同步(保证 --delete 参数与权限),然后导出并导入最新增量 DB(mysqldump 同步)。同步完成后立即修改 DNS A 记录指向新 IP,等待 TTL 生效。
10. 切换后验证与监控
DNS 生效后逐步检查访问日志、错误率、页面性能;启用监控报警(云监控/第三方)并保留旧服务器 48 小时以便回滚。确认备份策略在阿里云上已到位(定期快照、自动备份)。
11. 常见问题与解决建议
迁移常见问题:文件丢失通常因 rsync 参数或权限错误;数据库字符集差异会导致乱码;SSL 失效多为域名验证问题。解决方法:复核 rsync 日志、使用 --numeric-ids 保留所有者、对比 md5sum。
12. 回滚方案与安全建议
准备回滚:保留源站快照与数据库备份,DNS 切换不到新服务器 24 小时内可立即改回;加强安全组、定期更新系统与安装入侵检测,备份保留至少 7 天。
13. 问:迁移过程中如何保证零数据丢失?
答:采取两步策略:先做完整备份并初次同步,再在切换前停止写入做最后一次增量同步(rsync + mysqldump)。降低 DNS TTL,切换时尽量短暂停服,并保留源站备份以便回滚。
14. 问:若数据库超过几十 GB,如何提高迁移效率?
答:可使用 mydumper/myloader 或 Percona XtraBackup 做并行导出/导入,或在源站开启二进制日志并用主从复制到轻量实例再切换为主;传输时启用压缩与断点续传。
15. 问:迁移后流量不稳定或访问慢怎么办?
答:先检查轻量实例带宽是否达标,查看慢日志、开启云监控看 CPU/内存/网络,考虑使用阿里云 CDN 或升级实例规格;若 DNS 未完全生效,可回滚到旧站点并诊断。
来源:迁移实操如何从国内主机搬迁到阿里云轻量云服务器香港不丢数据