建站教程

WordPress网站迁移教程:换主机不丢数据

详细的WordPress网站迁移教程,教你安全地将网站从一个主机迁移到另一个主机,不丢失任何数据。

#网站迁移 #换主机 #数据转移

前言

网站迁移是迟早要面对的事情。不管是主机到期换服务商,还是从虚拟主机升级到VPS,或者是网站换域名,都需要做迁移。我迁移过不下20次网站了,最快的一次20分钟搞定,最慢的一次折腾了一整天。今天把最靠谱的迁移方法整理出来。

迁移前的准备

迁移清单

准备项目说明状态
完整备份文件+数据库必须
新主机环境PHP+MySQL已配置必须
域名DNS权限可以修改DNS记录必须
FTP/SSH工具用于传输文件必须
降低DNS TTL提前24小时降到300秒推荐

降低DNS TTL

迁移前24小时,先把域名的DNS TTL值降低:

修改前:TTL = 86400(24小时)
修改后:TTL = 300(5分钟)

这样在切换DNS时,用户能更快地访问到新服务器。

方法一:使用All-in-One WP Migration(最简单)

这是最傻瓜式的迁移方法,适合新手。

在旧网站上操作

  1. 安装All-in-One WP Migration插件
  2. 进入后台 → All-in-One WP Migration → 导出
  3. 选择”导出到 → 文件”
  4. 等待导出完成后下载

免费版有导入限制(通常512MB)。如果网站较大,可以购买Unlimited Extension或使用其他方法。

在新网站上操作

  1. 在新服务器上安装WordPress
  2. 安装All-in-One WP Migration插件
  3. 进入后台 → All-in-One WP Migration → 导入
  4. 上传刚才导出的文件
  5. 等待导入完成
  6. 重新设置固定链接(后台 → 设置 → 固定链接 → 保存)

方法二:使用Duplicator(推荐中级用户)

Duplicator可以把整个网站打包成一个安装包。

创建迁移包

  1. 安装Duplicator插件
  2. 进入后台 → Duplicator → 包
  3. 点击”创建新包”
  4. 按向导完成扫描和构建
  5. 下载两个文件:installer.phparchive.zip

在新服务器上恢复

1. 将installer.php和archive.zip上传到新服务器的网站根目录
2. 在浏览器访问:http://新服务器IP/installer.php
3. 按向导填写新的数据库信息
4. 等待安装完成
5. 删除安装文件(安全考虑)

方法三:手动迁移(最可控)

手动迁移虽然步骤多,但最可控,适合有一定技术基础的用户。

第一步:备份旧网站

# 打包网站文件
cd /var/www/
tar -czf site-backup.tar.gz html/

# 导出数据库
mysqldump -u wp_user -p wordpress_db > db-backup.sql

第二步:传输到新服务器

# 使用SCP传输
scp site-backup.tar.gz user@newserver:/var/www/
scp db-backup.sql user@newserver:/tmp/

第三步:在新服务器上恢复文件

# 解压文件
cd /var/www/
tar -xzf site-backup.tar.gz

# 设置文件权限
chown -R www-data:www-data /var/www/html/
chmod -R 755 /var/www/html/

第四步:恢复数据库

# 创建新数据库
mysql -u root -p
CREATE DATABASE wordpress_db;
GRANT ALL PRIVILEGES ON wordpress_db.* TO 'wp_user'@'localhost' IDENTIFIED BY 'password';
EXIT;

# 导入数据库
mysql -u wp_user -p wordpress_db < /tmp/db-backup.sql

第五步:修改wp-config.php

如果新服务器的数据库信息不同,需要修改wp-config.php:

define('DB_NAME', '新数据库名');
define('DB_USER', '新用户名');
define('DB_PASSWORD', '新密码');
define('DB_HOST', 'localhost');

第六步:替换URL(如果换了域名)

如果域名也换了,需要替换数据库中的旧URL:

# 使用WP-CLI替换(推荐)
wp search-replace 'https://olddomain.com' 'https://newdomain.com' --all-tables

# 或使用Search Replace DB脚本

不要直接用SQL的REPLACE语句,因为WordPress数据库中有序列化数据,简单替换会破坏数据结构。

第七步:切换DNS

确认新服务器一切正常后,修改域名DNS指向新服务器IP:

A记录:@ → 新服务器IP
A记录:www → 新服务器IP

DNS传播通常需要几分钟到几小时。因为之前已经降低了TTL,所以传播会比较快。

迁移后的检查

检查项目方法
首页是否正常浏览器访问
文章能否打开随机检查几篇
图片是否显示查看文章中的图片
后台能否登录用管理员账号登录
插件是否正常后台检查插件状态
固定链接重新保存一次
SSL证书确认HTTPS正常
表单功能测试联系表单

常见问题

迁移后白屏

检查wp-config.php的数据库连接信息是否正确,检查PHP版本是否兼容。

图片显示不了

可能是URL没有替换完全,用Search Replace DB再跑一遍。也可能是文件权限问题,检查wp-content/uploads目录的权限。

固定链接404

在后台 → 设置 → 固定链接中重新保存一次。如果还不行,检查Nginx/Apache的重写规则。

备份旧服务器

迁移完成并确认新服务器运行正常后,不要急着删除旧服务器上的数据。建议保留至少一个月,以防万一。

做好定期备份安全防护是迁移后的首要任务。

总结

网站迁移的核心就是三步:备份旧站、恢复到新站、切换DNS。新手用All-in-One WP Migration最省心,有技术基础的推荐手动迁移。不管用哪种方法,迁移前一定要做好完整备份,迁移后一定要仔细检查。


相关文章