网站迁移服务器实操:宝塔一键迁移+手动迁移网站文件+数据库导入+测试
迁移服务器有两条路:宝塔一键迁移,和手动搬文件、导数据库。环境一致、站点多,一键迁移更快;跨面板、跨架构或配置特殊,手动迁移更稳。本文对比两种方案的操作步骤与测试清单。
两种方案的适用边界
宝塔一键迁移的本质,是把面板已经登记过的站点信息(网站目录、数据库、FTP 账号、SSL 证书、计划任务)通过面板之间的 API 通道整体搬到另一台机器上。它要求两端都装了宝塔面板,而且最好面板版本接近。手动迁移则是自己打包文件、用 mysqldump 导出数据库、用 scp 或 rsync 传输,再到新机器上还原。前者省事但依赖环境相似,后者费手但每一步可控。
判定方法很简单:新老服务器面板版本差距大、一边是宝塔一边是 cPanel 或 aaPanel、或者从 CentOS 换到 Debian 这类跨发行版迁移,直接走手动;反过来,两台都是宝塔面板、PHP 与 MySQL 大版本一致、站点结构雷同,一键迁移能省掉大半时间。
宝塔一键迁移:环境同构时的省事路径
前置条件有三个:两端面板都安装「宝塔一键迁移API版本」插件(面板内软件商店搜索即得);接收方面板的 API 接口处于开启状态(面板设置 → API 接口 → 开启并记下密钥);安全组与系统防火墙放行面板端口和迁移用到的端口。
操作顺序是:在老服务器插件页填接收方 IP、面板端口、API 密钥 → 连接成功后勾选要迁移的站点、数据库、FTP、SSL → 点开始迁移 → 等进度条走完。过程中不要关面板,数据库大的站点会走很久,中途断开容易留下半截数据。
几个常见的坑:插件默认按同名覆盖,接收方若已存在同名目录要先改名;两边 MySQL 版本差异会导致字符集或存储引擎报错,迁移前确认 utf8mb4 设置一致;证书若由面板自动签发,迁移后最好在新机器上重新申请,免得证书和旧 IP 绑定的记录残留。
手动迁移:跨面板、跨架构时的可靠做法
手动迁移可以拆成「打包—导出—传输—还原—切解析」五个环节。
打包网站文件时排除缓存和日志目录,以 WordPress 站点为例:
cd /www/wwwroot
tar -czf site.tar.gz --exclude=wp-content/cache --exclude=*.log example.com
导出数据库时注意字符集和存储过程:
mysqldump -u root -p --default-character-set=utf8mb4 --single-transaction --routines example_db > example_db.sql
库大到几个 GB 量级时,单文件导出容易中断,改用 mydumper 或按表分批更稳妥。传输建议用 rsync -avz --progress site.tar.gz root@新服务器IP:/www/wwwroot/,断了能续传,比 scp 友好。
新服务器上的还原顺序建议是:先建站点和数据库,库名、用户名、密码尽量与旧站保持一致,后面能少改配置 → 解压文件并修正属主 chown -R www:www /www/wwwroot/example.com → 导入 SQL 文件 → 改站点配置文件里的数据库连接信息 → 在面板里绑定域名并补上伪静态规则 → 最后一步才动 DNS。
差异对比:哪一步最容易翻车
一键迁移的失败点集中在两端环境不一致:PHP 扩展缺失、MySQL 版本差异、面板版本过旧导致 API 协议对不上。手动迁移的失败点则集中在人的操作:忘记改数据库密码、伪静态规则没搬过去、目录权限不对导致 500、计划任务没重建。
可控性上手动更高,你知道每一步改了什么;效率上一键迁移占优,站点数量多、结构相似时差距很明显。实务中常见的折中做法是:用一键迁移搬站点骨架和数据库,再手动核对配置文件、伪静态、计划任务和证书这几项,两头的好处都拿到。
迁移后的测试清单
切解析之前,先用 hosts 文件或 curl --resolve 把请求指到新服务器,确认页面正常再改 DNS:
curl -I --resolve example.com:443:新服务器IP https://example.com
dig example.com +short
要检查的项目包括:首页与内页返回状态码是否正常;后台能否登录、能否发一篇测试文章(验证数据库读写);伪静态 URL 是否 404;图片和附件能否打开(验证目录权限与路径);SSL 证书是否有效;计划任务与队列进程是否重建;/www/wwwlogs 下有没有持续报错。
DNS 切换后,在 TTL 生效期内会出现新旧服务器同时收到请求的情况,建议旧机器保留一周左右再下架。切完用 DNS解析查询 确认各地解析结果是否已经指向新 IP,用 百度收录批量查询 观察收录有没有异常波动,需要时再配合 首页排名查询 跟踪关键词位置变化。