宝塔站点迁移教程:从 A 服务器到 B

2025.5.29 杂七杂八 1560

宝塔站点迁移教程:从 A 服务器到 B 杂七杂八-第1张

本文详细介绍如何通过宝塔面板将网站从A服务器完整迁移至B服务器,涵盖备份、文件传输、数据库同步、域名解析等关键步骤,并提供常见问题解决方案,帮助用户实现零宕机迁移。

一、迁移前的准备工作

在开始迁移前,请确保:

  • 两台服务器均已安装相同版本的宝塔面板(推荐7.9+)
  • B服务器磁盘空间≥A服务器已用空间的1.5倍
  • 记录A服务器的以下信息:
     查看PHP版本
    php -v  
     查看MySQL版本
    mysql -V

二、完整迁移步骤

1. 源服务器(A)操作

(1)整站备份

 进入宝塔面板 → 网站 → 对应站点 → 备份
 同时备份:
 - 网站文件(默认在/www/wwwroot)
 - 数据库(phpMyAdmin导出或宝塔数据库备份)
 - SSL证书(/www/server/panel/vhost/cert)

(2)特殊配置备份

  • 伪静态规则(Nginx/Apache配置)
  • 定时任务(宝塔计划任务界面截图)
  • .htaccess文件(如有)

2. 目标服务器(B)操作

(1)环境准备

 通过宝塔一键安装:
 - Web服务器(Nginx/Apache)
 - PHP(版本需与A服务器一致)
 - MySQL(版本需≥A服务器)

(2)文件传输

推荐使用宝塔远程下载功能:

 在B服务器宝塔面板:
文件 → 远程下载 → 输入A服务器备份文件URL
 或使用rsync同步:
rsync -avzP root@A_IP:/www/wwwroot /www/wwwroot

3. 数据库迁移

方法一:宝塔数据库工具

  1. 在A服务器导出数据库(SQL格式)
  2. 在B服务器创建同名数据库
  3. 通过phpMyAdmin导入SQL文件

方法二:命令行迁移

 A服务器导出:
mysqldump -u root -p 数据库名 > db_backup.sql
 B服务器导入:
mysql -u root -p 数据库名 < db_backup.sql

4. 域名切换(关键步骤)

为避免访问中断,建议按此顺序操作:

  1. 在B服务器完成所有配置测试(使用临时URL访问验证)
  2. 修改DNS解析TTL为300秒(提前72小时操作)
  3. 正式切换域名解析至B服务器IP
  4. A服务器保持运行24小时后再关闭

三、迁移后检查清单

检查项 验证方法
文件完整性 对比A/B服务器文件md5值:
find /www/wwwroot -type f -exec md5sum {} + > check.txt
数据库连接 检查网站配置文件(如wp-config.php)中的数据库信息
伪静态 测试网站各URL是否正常跳转

四、常见问题解决方案

Q1:迁移后出现500错误?
检查:
1. PHP版本是否一致
2. 文件权限(推荐设置为755/644)
3. 缺失的PHP扩展(通过宝塔PHP管理安装)

Q2:数据库导入失败?
尝试:
1. 修改my.cnf中的max_allowed_packet=256M
2. 使用mysql -uroot -p -f 数据库名 < backup.sql强制导入

Q3:HTTPS证书不生效?
1. 确保证书文件路径正确
2. 在宝塔SSL界面重新保存一次配置
3. 检查443端口是否开放:
iptables -I INPUT -p tcp --dport 443 -j ACCEPT

评论