宝塔面板一键迁移失败,手动网站搬家方案
宝塔面板一键迁移失败,通常是因为新旧服务器环境不一致、网络超时或权限不足。
手动搬家虽然步骤多一些,但过程可控,成功率更高。
本文面向零基础用户,从备份文件、迁移数据库到修改配置和验证访问,一步步带你完成网站搬家。
搬家前需要确认的三件事
开始操作前,先检查新旧服务器的基本信息,避免做到一半才发现环境不兼容。
- 面板版本:新旧宝塔面板版本尽量接近,如果差异过大,建议先在新服务器升级到相同或更高版本。
- 软件环境:记录旧服务器上网站使用的 PHP 版本、MySQL 版本、Nginx 或 Apache 版本,新服务器需要安装相同或兼容的版本。
- 磁盘空间:新服务器剩余空间必须大于旧服务器网站文件和数据库大小的总和,建议预留 20% 以上。
登录旧宝塔面板,进入「网站」页面,点击网站根目录,查看文件夹大小;
进入「数据库」页面,查看每个数据库的大小。
把这些信息记下来,方便在新服务器上对照。
第一步:打包旧服务器上的网站文件
手动搬家最稳妥的方式是先压缩再下载,避免大量小文件传输中断。
- 登录旧服务器宝塔面板,进入「文件」管理。
- 找到网站根目录,一般路径是
/www/wwwroot/你的域名。 - 选中该目录下的所有文件,点击右上角「压缩」,格式选择
.zip或.tar.gz。 - 压缩完成后,将压缩包下载到本地电脑。
如果网站文件很大,也可以直接用命令行打包,速度更快:
cd /www/wwwroot
tar -czvf site_backup.tar.gz 你的域名/
打包完成后,再用 sz 或 FTP 工具下载到本地。
第二步:导出旧服务器的数据库
数据库是网站的核心数据,导出时建议使用 SQL 文件格式。
- 在旧宝塔面板左侧点击「数据库」。
- 找到对应网站的数据库,点击右侧「管理」,进入 phpMyAdmin。
- 选择该数据库,点击顶部「导出」。
- 导出方式选择「快速」,格式选择「SQL」,点击「执行」下载到本地。
如果数据库较大,也可以用命令行导出:
mysqldump -u 数据库用户名 -p 数据库名 > /root/db_backup.sql
输入密码后等待完成,然后将 /root/db_backup.sql 下载到本地。注意:导出的 SQL 文件不要用记事本随意修改,避免编码错误。
第三步:在新服务器上还原文件和数据库
新服务器需要先建好站点和数据库,再上传文件。
- 登录新宝塔面板,进入「网站」→「添加站点」,填写域名,PHP 版本选择与旧服务器一致的版本。
- 进入「数据库」→「添加数据库」,数据库名和用户名可以沿用旧的,也可以新建,密码建议使用随机强密码。
- 进入「文件」,打开新站点的根目录,将之前下载的网站压缩包上传到这里,然后右键解压。
- 解压后检查文件权限,一般目录权限设为
755,文件权限设为644,所有者为www。
还原数据库有两种方式:
- 通过 phpMyAdmin:在新面板进入对应数据库的 phpMyAdmin,选择「导入」,上传之前导出的 SQL 文件,执行导入。
- 通过命令行:将 SQL 文件上传到服务器,执行:
mysql -u 新数据库用户名 -p 新数据库名 < /root/db_backup.sql
导入完成后,在 phpMyAdmin 中检查表数量和数据行数是否与旧服务器一致。
第四步:修改网站配置并切换域名解析
文件和数据都迁移完成后,还需要修改网站配置文件,让程序连接新的数据库。
常见的配置文件位置:
- WordPress:
wp-config.php - ThinkPHP:
application/database.php或.env - 其他程序:一般在根目录的
config文件夹中
打开配置文件,找到数据库连接信息,将数据库名、用户名、密码、主机地址改为新服务器上的信息。
主机地址通常填 localhost 或 127.0.0.1。
如果网站使用了固定域名,还需要在数据库中替换旧域名。
可以在 phpMyAdmin 中执行 SQL:
UPDATE wp_options SET option_value = REPLACE(option_value, '旧域名', '新域名');
UPDATE wp_posts SET post_content = REPLACE(post_content, '旧域名', '新域名');
非 WordPress 站点请根据实际表名调整。
最后,到域名解析服务商处,将域名的 A 记录指向新服务器的 IP 地址。
解析生效时间一般为几分钟到几小时,可以用 ping 你的域名 检查是否已指向新 IP。
搬家后必须做的验证和避坑检查
完成以上步骤后,不要急着关掉旧服务器,先做一轮完整验证。
- 访问首页:打开网站首页,检查是否正常显示,样式和图片是否加载完整。
- 登录后台:尝试登录网站后台,确认数据库连接正常。
- 测试功能:发布一篇文章、上传一张图片,检查写入权限和上传功能。
- 检查伪静态:如果网站需要伪静态规则,在新宝塔面板「网站」→「设置」→「伪静态」中,选择与旧服务器相同的规则并保存。
- 查看错误日志:如果页面报错,进入「网站」→「日志」查看 Nginx 或 PHP 错误日志,根据提示排查。
避坑提醒:
- 迁移期间建议将旧网站设为维护模式,避免新数据写入后丢失。
- 如果网站使用了 SSL 证书,需要在新服务器重新申请或上传证书,并在宝塔面板中开启 HTTPS。
- 数据库导入时如果提示超时,可以修改
php.ini中的max_execution_time和upload_max_filesize,或改用命令行导入。 - 搬家完成后,确认新服务器防火墙已放行 80 和 443 端口,否则外网无法访问。
只要文件、数据库、配置和解析四步都正确完成,手动搬家就能稳定替换一键迁移。
验证通过后再考虑释放旧服务器,避免出现问题时无法回退。