宝塔面板迁移服务器,数据不丢的正确姿势
不管你是换了云厂商还是升级配置,宝塔面板迁移服务器的核心目标始终是数据不丢、服务不断。
很多新手直接复制文件就以为完事了,结果数据库连不上、网站报500。
下面这套流程我跑了无数次,零基础也能照着做。
迁移前先把家底清点好
先把两台服务器都装好同版本宝塔面板(当前推荐 9.x 稳定版)。
登录旧服务器面板,在“软件商店”确认 Nginx、PHP、MySQL 版本并截图记录。
旧服务器上立即执行一次全量备份:进入“计划任务” -> “添加任务” -> 选择“备份网站”和“备份数据库”,存储位置选本地或网盘。
备份完成后手动下载压缩包到本地电脑,双重保险。
一键迁移插件 vs 手动搬运
宝塔自带“一键迁移”插件(在软件商店搜)是最快的方法,但偶尔会出错。推荐迁移前先测试: 在新服务器上安装好宝塔,不创建任何网站。
然后在旧服务器插件端输入新服务器的面板地址、API 密钥(新服务器面板设置里开启 API)。
选择要迁移的网站和数据库,勾选“覆盖同名站点”。
迁移完毕去新服务器检查文件是否齐全。
如果一键迁移失败或想更可控,手动迁移更稳妥:
- 网站文件:用宝塔“文件”或 FTP 将旧服务器
/www/wwwroot/网站目录整个下载,再上传到新服务器的相同路径。 - 数据库:在旧服务器 phpMyAdmin 导出
.sql文件,新服务器新建同名的空数据库并导入。记得核对数据库用户名和密码是否一致。 - 网站配置:登录旧服务器 Nginx 管理,复制网站配置内容;新服务器创建站点时将配置粘贴到“配置文件”里,域名指向新 IP。
域名解析与缓存清理
迁移完成后,不要急着改 DNS。
先用本地 hosts 文件(Windows 在 C:\Windows\System32\drivers\etc\hosts,Linux 在 /etc/hosts)添加一条记录,将你的域名临时指向新服务器 IP。
浏览器访问确认首页正常,测试登录、搜索、支付等关键业务。
确保没问题后再去域名控制台修改 A 记录,TTL 设置 300 秒(5 分钟),等待全球生效。
高频报错与急救方案
问题1:新服务器访问显示“数据库连接错误”
检查 /www/wwwroot/站点目录/wp-config.php(WordPress 为例)或类似配置文件里的数据库地址、用户名、密码是否与新服务器一致。如果旧服务器用了 localhost 而新服务器是远程数据库,需要改成新 IP。
问题2:网站所有页面 404
大多是因为 Nginx 伪静态规则没迁移。宝塔里删除站点重建时,记得选择相同的伪静态模板(如 WordPress、ThinkPHP)。或者在旧服务器复制伪静态内容,新服务器“站点设置 -> 伪静态”粘贴保存。
问题3:SSL 证书失效
如果之前启用了 Let‘s Encrypt,迁移到最后新服务器需要重新申请证书(宝塔面板会自动续签)。商业证书则直接上传证书文件。
迁移后的健康检查清单
做完上面步骤,不要急着删老服务器。
用以下几项验证才算真正收工:
- 用浏览器访问网站所有主要栏目,刷新三次排除缓存。
- 通过 phpMyAdmin 查看数据库记录是否完整(比如文章数、用户数)。
- 发一封测试邮件,检查 SMTP 设置是否正常。
- 执行宝塔面板的“网站监控”查看 CPU 和内存占用是否稳定。
- 待域名解析生效 24 小时后,再关闭老服务器以减少风险。
如果你正在处理宝塔面板迁移服务器的事,建议把本文步骤打印出来一步步勾选。
遇到异常先回看上面的高频问题,大部分坑都有人踩过。
数据无价,慢一点反而更快。