凌峰创科服务平台

cpanel转移网站

核心概念:使用 WHM 的“传输工具” (Transfer Tool)

这个工具可以从源服务器直接连接到目标服务器,自动传输账户、网站文件、数据库、电子邮件账户和设置,它支持多种传输方式,但最常用和最简单的是 Account to Account Transfer(账户到账户传输)。

cpanel转移网站-图1
(图片来源网络,侵删)

第一步:准备工作

在开始传输之前,做好充分的准备可以避免很多问题。

确认源服务器和目标服务器的信息

  • 源服务器:
    • WHM 用户名和密码:具有 Transferroot 权限的账户。
    • IP 地址和主机名
  • 目标服务器:
    • WHM 用户名和密码:具有 rootReseller 权限的账户。
    • IP 地址和主机名
    • 确保服务器已启用“远程服务”:在目标服务器的 WHM 中,搜索 Remote Access,确保 Setup Remote Access Key 已生成,Enable cPanel DNS Cluster 是开启的。

检查服务器兼容性

  • cPanel 版本:虽然不是必须,但尽量使用相同或相近版本的 cPanel,以避免兼容性问题。
  • PHP 版本:如果网站依赖特定版本的 PHP,请确保目标服务器上已安装并启用该版本。
  • 已安装的模块/扩展:检查源服务器上网站所需的 PHP 模块(如 curl, gd, mysqli 等)在目标服务器上是否已安装。
  • 磁盘空间:确保目标服务器有足够的磁盘空间来容纳所有要传输的账户。

整理要传输的账户列表

  • 不要一次性传输所有账户:特别是如果账户数量很多,建议先选择一个或几个非关键账户进行 测试传输,确保流程无误。
  • 记录特殊账户:标记出有特殊配置、数据库很大、或者使用自定义 PHP 版本的账户,以便在传输后重点检查。

(可选)在目标服务器上预创建账户

如果你希望保留目标服务器上账户的特定设置(如已分配的带宽、磁盘空间限制),可以在目标服务器的 WHM 中预先创建这些账户,传输工具会覆盖文件和数据库,但保留这些预定义的限制。


第二步:在目标服务器上启动传输

我们将从目标服务器(接收方)开始操作,因为通常是从这里发起迁移任务。

  1. 登录目标服务器的 WHM

    cpanel转移网站-图2
    (图片来源网络,侵删)
  2. 在顶部的搜索框中输入 Transfer,然后选择 Transfer Tool

  3. 你会看到几种传输方式,对于 cPanel 到 cPanel 的迁移,选择 Account to Account Transfer

  4. 配置源服务器信息

    • Type:选择 cPanel Account
    • Hostname:输入源服务器的 IP 地址或域名。
    • Username:输入源服务器的 WHM 用户名(通常是 root)。
    • Password:输入对应的密码。
    • Port:保持默认的 20862087
    • Security:选择 SSL (推荐)。
  5. 点击 Connect 按钮

    cpanel转移网站-图3
    (图片来源网络,侵删)
    • 系统会尝试连接到源服务器,如果连接成功,它会自动读取源服务器上所有 cPanel 账户的列表。
    • 如果连接失败,请仔细检查 IP 地址、用户名、密码、端口以及源服务器的防火墙设置(确保 2086/2087 端口是开放的)。

第三步:选择并配置要传输的账户

连接成功后,你会看到一个账户列表。

  1. 选择账户

    • 勾选你想要传输的账户前面的复选框。
    • 你可以使用顶部的 Select All(全选)或 Invert Selection(反选)来批量操作。
    • 建议:先只勾选一个测试账户。
  2. 配置传输选项

    • Reseller to Transfer:如果目标服务器上已有经销商账户,可以选择将账户传输到该经销商名下。
    • IP Address:为新账户分配一个 IP 地址,你可以选择保留源 IP 或使用目标服务器上的其他 IP。
    • DNS Check强烈建议勾选此项,它会检查源域名的 NS 记录是否指向目标服务器,确保传输后网站能正常解析。
    • Update Nameservers:如果勾选了 DNS Check,这个选项也会出现,它会自动将源域名的 NS 记录修改为目标服务器的 NS。(谨慎操作!如果你不想立即切换 DNS,请不要勾选)
    • SSL:如果账户启用了 SSL,可以勾选此项来传输 SSL 证书。
    • Bandwidth and Disk Space:可以调整传输后账户的带宽和磁盘空间限制。
    • Suspension Status:可以设置传输后账户的状态(如 ActiveSuspended)。
  3. 开始传输

    • 配置好选项后,点击页面底部的 Begin Transfer 按钮。
    • 传输过程会自动开始,你可以在 WHM 的 Transfer Tool 页面查看传输状态和日志。

第四步:传输后检查与验证

传输完成后,千万不要立即删除源服务器上的数据! 必须进行彻底的测试。

  1. 检查传输状态

    • Transfer Tool 中确认所有账户的状态都显示为 Completed
  2. 访问网站

    • 在浏览器中访问域名,检查网站是否能正常打开。
    • 检查网站首页、所有子页面、图片和样式表是否都加载正常。
  3. 检查数据库

    • 登录 cPanel,进入 phpMyAdmin
    • 检查数据库和表是否都已成功传输,数据是否完整。
  4. 检查网站功能

    • 测试网站的交互功能,如用户登录、注册、提交表单、评论等。
    • 检查网站的管理员后台是否能正常登录。
  5. 检查电子邮件

    • 尝试使用 Webmail (如 webmail.yourdomain.com) 登录,检查邮件是否正常。
    • 如果使用第三方客户端(如 Outlook, Foxmail),检查 POP3/IMAP/SMTP 设置是否需要更新(IP 地址变了)。
  6. 检查 Cron 任务和重写规则

    • 登录 cPanel,检查 Cron Jobs 是否已正确迁移。
    • 检查网站根目录下的 .htaccess 文件是否被正确传输,重写规则是否依然有效。

第五步:更新 DNS 并清理

只有在所有检查都通过后,才能执行此步骤。

  1. 更新 DNS 记录

    • 最安全的方法:将源域名的 A 记录 修改为指向目标服务器的 IP 地址,等待 DNS 生效(通常需要几分钟到48小时)。
    • 如果之前在传输工具中勾选了 Update Nameservers:域名的 NS 记录已经被修改,你需要到域名注册商处确认 NS 记录是否正确指向了目标服务器。
    • 强制刷新:在本地电脑上使用 ipconfig /flushdns (Windows) 或 sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder (macOS) 来刷新 DNS 缓存。
  2. 监控网站状态

    • 在 DNS 生效期间,使用在线工具(如 DNSChecker.org)监控你的域名在全球各地的解析情况。
    • 确保全球用户都能访问到新服务器上的网站。
  3. 最终清理

    • 确认网站在新服务器上稳定运行至少 24-48 小时后,你就可以安全地删除源服务器上的旧数据了。
    • 在源服务器的 WHM 中删除已迁移的账户,以释放资源。

常见问题与解决方法

  • Q: 传输失败,提示 "Connection refused" 或 "Timeout"。

    • A: 检查源服务器的防火墙(如 CSF, APF)是否阻止了目标服务器的 IP,检查源服务器的 whostmgrd 服务是否正在运行。
  • Q: 传输速度很慢。

    • A: 这是正常的,特别是对于大账户,如果服务器间带宽充足但速度依然极慢,可能是服务器负载过高,可以在非高峰时段(如凌晨)进行传输。
  • Q: 网站迁移后,部分图片或样式表丢失。

    • A: 检查 .htaccess 文件中的规则是否在新服务器上造成冲突,可能是文件权限问题,确保文件和目录的权限正确(通常是 644 和 755)。
  • Q: 数据库连接错误。

    • A: 检查 wp-config.php (WordPress) 或其他配置文件中的数据库主机名、用户名、密码和数据库名是否正确,通常数据库主机名是 localhost
  • Q: 邮件无法发送或接收。

    • A: 检查邮件服务是否在目标服务器上正常运行,检查邮件日志 (/var/log/exim_mainlog) 以定位问题,确保域名的 MX 记录正确(如果域名解析已切换)。

希望这份详细的指南能帮助你顺利完成 cPanel 网站的迁移!

分享:
扫描分享到社交APP
上一篇
下一篇