刚挂了新的云服务器,手里还在握着老主机的密码?别急,这里给你一份刀锋式的操作手册,帮你从老主机一脚踢到新主机,保证你不会被“临时迁移”当场打败。
第一步:确认你要搬迁的云平台种类。是阿里云、腾讯云还是AWS?每个平台的镜像、规格、计费方式都不一样,先把它们的官方文档拿出来对照一下,别把滴滴打个电话以为主机就是个“片面”问题。若你是全管理员,直接用 API 申请即可;若是普通用户,记得先开启 SDK,别盲目点东西后悔。
第二步:迁移数据前先做完整的备份。别看“数据是存的云里”,在搬家前你仍需把文件、数据库、配置文件都保存在本地甚至是第三方云存储。思路是先把旧主机的 root 权限通过 SFTP 或者 rsync 拷贝到本地,然后再上传到新服务器。别忘了查看旧服务器是否有定时任务、cron、监控脚本等,都要同步过去。
第三步:检查并更新域名解析。域名-云主机之间是“电子邮件”吧?不,像“邮递员”。一旦新主机 IP 改了,需同步 DNS A 记录。别让你的网站成短暂漂浮在空中。最方便的方式是前往 Cloudflare 或阿里云 DNS 前端,选择“全解析”模式,稍等 TTL 期结束后,站点才会稳稳落地。
第四步:SSL 证书是否需要重新生成?如果你使用 Let's Encrypt 或者云厂商提供的免费证书,直接在新服务器上跑 certbot 就能快速续期。若你使用自签证书或证书托管,由于域名/IP 完全改了,需要重新申请签发,并在 Nginx/Apache 配置中更新证书路径。千万别留个心疼的掉包路径。
第五步:数据库迁移要点。你可能在旧主机上跑 MySQL 5.7,然后换云后用了 MariaDB 10.5,兼容性?那就先做个 dump,用 mysqldump -uroot -p > backup.sql,下次在新服务器直接用 mysql -uroot -p < backup.sql。还别忘了检查“字符集”“外键约束”等一块,防止微小差异导致导入失败。
第六步:检查应用与依赖版本。Python Flask? Node.js? PHP? 记得在新主机上跑 pip install、npm install、composer install 等。若你用 VS Code 的 dev container,最好先把 Dockerfile/podman 文件一起搬过去。在容器里跑,最容易保证版本一致。
第七步:正常上线前先做内网测试。把新主机的 IP 添加到本地 hosts 文件,访问 http://IP:80/ 看是否与旧主机结果一致。检测 API 路径、图片链接、静态资源是否都能加载。若达到预期,再把 DNS 指向新的 IP。
第八步:性能监控与日志。别以为迁移后自动就能 “抛砖引玉”。在新主机上跑 monit、Prometheus、ELK Stack,记录 CPU、内存、磁盘 IO,日志文件尽量统一路径,方便后期排查。你可以把日志滚动到 S3 或 OSS,保证数据不会被误删。
第九步:安全加固。记得把防火墙白名单改成新 IP,关闭不需要的端口,启用 fail2ban 或云厂商自带的安全组,防止暴力登录。若你有 360 安全或阿里云安全中心,务必在新主机上重新创建策略,保证你不会被百节点撞满。
第十步:预算监控。不同云服务遇到计费方式。你得设一个预算提醒或使用成本管理工具,把每小时转成花费,避免“估算误