十分钟内给你的WordPress快速搬家:一行代码+三个步骤
有朋友在使用VPS的过程中有咨询过如何快速给自己的Wordpress网站搬家的问题。其实,对于网站数据迁移方法有很多。如果你的主机商已经提供了快照迁移和自定义镜像的话,那么很容易将某一个服务器的内容全部克隆到另一个服务器上。
这类的服务典型就是腾讯云、阿里云以及Linode、DigitalOcean等大牌主机商。也有一些主机商没有提供自定义镜像功能,那么就需要我们手动来迁移网站数据了,另外跨主机商迁移的话也得需要手动来完成,不可能做到自动部署网站。
之前有分享过三个命令工具Rsync,SCP,Tar-快速解决VPS远程网站搬家与数据同步,本篇文章就来分享一下如何使用快速同步备份命令,将你的Wordpress从一个VPS主机搬家到另一个VPS主机。小站的文件传输通常比较快,实际多久还要看数据库大小、线路速度以及新站的检查情况。
更多的关于网站数据同步与备份的方法这里还有:
- SolusVM KVM VPS主机迁移搬家方法-SolusVM KVM备份恢复教程
- 三步揪出服务器流量异常“李鬼”-Linux服务器流量带宽监控与统计命令
- Linode VPS搬家必备:Clone克隆镜像,IP Swap保留原IP和Backup自动备份
PS:2026年11月4日更新,修正了文件传输命令和数据库迁移方法,补上了换域名、最后同步和切 DNS 前的检查步骤。
一、一行代码
Tar远程边压缩边传输边解压命令:
cd /data/wwwroot #进入网站目录 set -o pipefail # 在 Bash 中运行,传输或解包失败时返回错误 tar czf - -C /data/wwwroot/www.wzfou.com . | ssh -p 12345 deploy@new-host 'tar xzf - -C /data/wwwroot/www.wzfou.net'
先在 B 主机建好空的目标目录,并给负责迁移的账号写权限。命令里的 -C 和末尾的 . 会打包原目录里的内容,包括隐藏文件,避免在目标目录下面再套一层同名目录。端口、主机名和路径按实际修改。
二、第一步:搭建新站环境
为保证搬家后网站可以正常运行,建议新站环境采用与原站一样的配置,例如原站使用的是宝塔BT面板,那么建议新站也用宝塔BT面板,安装的PHP、Mysql等最好与原来的一样。
先在目标端建空数据库和独立的数据库账号。复制文件后,在目标站 wp-config.php 写入新数据库的连接信息,并确认 $table_prefix 与导入的表名一致。
三、第二步:开始迁移数据
使用Tar远程边压缩边传输边解压命令将原站的数据快速迁移到新的站中,以下是新站的目录。
下面是 2019 年的终端记录,路径和账号供对照。新迁移请用第一节命令,避免产生重复目录:
root@localhost:~# cd /data/wwwroot #进入目录 root@localhost:/data/wwwroot# ls #显示多少文件 default howsvps.com root@localhost:/data/wwwroot# tar czf - howsvps.com | ssh root@104.xxx.xxx.xxx -p 22 tar xzf - -C /www/wwwroot/howsvps.com #开始打包压缩解压 ssh: /usr/local/openssl/lib/libcrypto.so.1.0.0: no version information available (required by ssh) ssh: /usr/local/openssl/lib/libcrypto.so.1.0.0: no version information available (required by ssh) The authenticity of host '104.238.xxx.xxx (104.xxx.xxx.xxx)' can't be established. ECDSA key fingerprint is SHA256:pKCha7ZLLxys5fYnotxSSw6Lb1LTVVdkQub+mertxr0. Are you sure you want to continue connecting (yes/no)? yes #确认 Warning: Permanently added '104.xxx.xxx.xxx' (ECDSA) to the list of known hosts. root@104.xxx.xxx.xxx's password: #输入密码 root@localhost:/data/wwwroot# #完成
使用迁移命令后稍等一会儿就可以看到打包解压过来的网站根目录了,该命令特别适合大型网站搬家。
如果你发现根目录有重复的话,可以用Winscp工具移动数据。
数据库用 SQL 逻辑导出、传输和导入。运行中的 MySQL 或 MariaDB 数据目录不能用 tar 直接复制来搬一个库,InnoDB 的数据文件还可能依赖实例的系统表空间和日志。下面的 WP-CLI 命令分别在源站和目标站的 WordPress 根目录执行:
# 源站:用当前账号的非公开目录保存导出文件 umask 077 wp db export "$HOME/wp-move.sql" # 用 SFTP 等方式传到目标账号的主目录,在目标站根目录导入空库 wp db import "$HOME/wp-move.sql"
对于数据库不大的网站,可以使用PhpMyAdmin导入数据库。
四、第三步:修改域名DNS
切换 DNS 前,先在本机 hosts 文件里把原域名临时指到新站 IP,检查前台、后台、图片和固定链接。如果域名保持不变,通常不必替换数据库里的网址;换域名或协议时,先在目标站用 wp search-replace 加 --dry-run 看影响范围,确认后再实际执行,并用 --skip-columns=guid 保留文章 GUID。WP-CLI 能处理序列化数据。命令说明:https://developer.wordpress.org/cli/commands/search-replace/ 。
如果原站还有评论、订单或用户写入,先安排短暂停写,再做最后一遍数据同步。核对新站正常后再切 DNS,清理新站缓存并在外网复查。切换期间留着旧站和迁移前备份,方便核对或回退。
五、总结
使用快速搬家方法的关键之处就是在于你创建新站的环境最好与原来的网站的环境一致,例如选择同一个版本的PHP、Apache或者Nginx、MysqL数据库等,尤其是数据库,如果版本不一致在导致时会出现错误。
对于大型网站搬家,或者动态内容的网站,最好在搬家前做好充分的准备,新站迁移后要观察一段时间再决定是否清除数据。另外,DNS更新也会需要一段时间,实际多久取决于原记录的 TTL 和各地解析缓存。
文章出自:挖站否 https://wzfou.com/wp-banjia/,版权所有。本站文章除注明出处外,皆为作者原创文章,可自由引用,但请注明来源。
























qi,你好,请问你的服务器用的哪家的呀?配置如何?