博客

教程、指南和产品动态。

指南

如何把 WordPress 网站迁移到新的 VPS

2 11月 2026 2 分钟阅读
分享此文章

迁移 WordPress 网站,就是迁移三样东西:文件(首先是 wp-content 文件夹)、数据库,以及域名的 DNS 记录。最简单的方式是使用迁移插件。手动的话,需要复制文件、导出数据库、在新服务器上导入,并在地址发生变化时修正地址。

无论选哪种方法,顺序都一样:先备份,在新服务器上测试,最后再处理 DNS。在新网站正常运行之前,不要关闭旧服务器。

开始之前

  • 做一次完整备份。在您自己的电脑上保存一份文件和数据库的副本。WordPress 官方迁移指南也要求在对数据库做任何更改之前先备份。
  • 弄清大小。wp-content 文件夹和数据库各有多少 MB?这决定了哪种方法适合您。
  • 对比版本。新服务器上的 PHP 版本能兼容您的旧插件吗?不兼容的插件请在迁移之前先更新。
  • 降低 TTL。在切换前一两天,把域名 DNS 记录的 TTL 设为 300 秒。这样旧地址不会在缓存中停留太久。
  • 确认邮件在哪里。更改 A 记录不会影响 MX 记录。如果您的邮件运行在网站所在的服务器上,需要另外迁移。

方法 1:用插件迁移

迁移插件会把文件和数据库打包成一个包,并在新网站上解开,大多数还会修正地址。常见的做法有三种:

  • 在浏览器中上传包。在旧网站上生成包,在新的 WordPress 上安装同一个插件并上传这个包(例如 All-in-One WP Migration 就是这样工作的)。这种做法会遇到服务器的上传大小限制。
  • 用 SFTP 放置包。Duplicator 这类插件要求您把压缩包和一个 installer.php 文件复制到新服务器上的一个空文件夹,然后在浏览器中打开 installer.php。您需要事先创建好数据库及其用户。完成后,请删除 installer.php 和压缩包,因为任何知道地址的人都可能再次运行这个安装程序。
  • 从远程存储恢复。使用 UpdraftPlus 这类备份插件时,在新网站上连接同一个云存储,然后通过“Rescan remote storage”链接找到备份。您不必通过浏览器上传大文件。

一键 WordPress 服务器上的 64 MB 限制

在 Seturack 的一键 WordPress 服务器上,单次最多可以上传 64 MB。通过浏览器接收包的插件会碰到这个限制。如果您的包更大,请使用远程存储恢复,或者手动迁移网站。因为一键应用运行在 Docker 中,文件不在传统安装时所处的位置。对于要手动迁移的大型网站,安装了 Apache 或 Nginx 的干净 Ubuntu 服务器更容易预测。

方法 2:手动迁移

这些步骤适用于文件位于 /var/www/html 的传统安装。如果以 root 身份运行 WP-CLI,请在它的命令后加上 --allow-root。在旧服务器上,进入 WordPress 文件夹:

  1. 把数据库导出到 Web 文件夹之外,因为留在里面的转储文件,任何知道地址的人都可以下载:wp db export ~/site.sql。没有 WP-CLI 的话,用 mysqldump -u USER -p DATABASE > ~/site.sql。
  2. 用 tar -czf ~/files.tar.gz . 打包文件
  3. 用 scp ~/site.sql ~/files.tar.gz user@NEW_IP:~/ 把两个文件复制到新服务器

在新服务器上:

  1. 创建一个空数据库和它的用户。
  2. 用 tar -xzf ~/files.tar.gz -C /var/www/html 把文件解压到 Web 文件夹
  3. 在 wp-config.php 中,把数据库名、用户和密码更新为新的值。把所有权交给 Web 服务器用户(Debian 和 Ubuntu 上是 www-data)。
  4. 用 wp db import ~/site.sql 导入数据库。这条命令从 wp-config.php 读取设置,而且不会替您创建数据库。

如果域名不变,就不需要修正地址。如果域名变了,请把旧地址替换为新地址。先用 --dry-run 试一下,并且不要动 guid 列:

wp search-replace 'https://old.com' 'https://new.com' --skip-columns=guid --dry-run

如果输出看起来没问题,就去掉 --dry-run 再运行一次。不要对数据库做简单的查找替换,因为序列化的数据可能被破坏。WP-CLI 能正确处理这类数据。

切换 DNS 之前先在新服务器上测试

把新服务器的 IP 地址和您的域名添加到您电脑上的 hosts 文件中。该文件在 Windows 上位于 C:\Windows\System32\drivers\etc\hosts,在 macOS 和 Linux 上位于 /etc/hosts:

203.0.113.10 example.com www.example.com

从此只有您的浏览器会打开新服务器,其他人看到的仍是旧服务器。试一试登录、页面、图片和表单,然后删除这一行。HTTPS 证书通常在 DNS 指向新服务器后签发。

切换 DNS

  1. 如果网站一直有写入(商店、会员、评论),请把旧网站设为维护模式,最后再导出一次数据库并传输。否则,切换期间产生的订单会丢失。
  2. 在您的 DNS 面板中,把 A 记录指向新的 IP 地址,www 也一样处理。绑定您自己的域名一文中有具体步骤。
  3. TTL 较低时,变更会很快传开。有些网络可能会把旧记录保留更久。
  4. 确认新服务器上的 HTTPS 正常工作。
  5. 一切正常后,把 TTL 改回原来的值。保留旧服务器几天,然后再关闭。

迁移之后的检查清单

  • 打开设置 > 固定链接,点击保存,以刷新重写规则。
  • 打开首页、一篇文章、一张图片和联系表单。
  • 留意混合内容警告。修正地址可以解决其中大部分。
  • 测试邮件发送,并检查您的 SMTP 插件的设置。
  • 清除缓存插件的缓存。
  • 删除两台服务器上的 ~/site.sql 和 ~/files.tar.gz。两者都包含敏感数据。
  • 在设置 > 阅读下,确认“建议搜索引擎不索引本站点”的复选框没有勾选。

如果用插件迁移,从一个空的 WordPress 开始会更容易。预装 WordPress 的服务器大约 3.5 到 4 分钟就能准备好。请看一下 WordPress 服务器页面。

评论0

暂无评论

成为第一个分享想法的人。

参与讨论

请登录或注册后发表评论。

不错过任何文章

通过电子邮件接收我们最新的教程、指南和产品资讯。

您已订阅我们的电子通讯。