网站迁移确实可以以自主完成,但需谨慎操作以避免数据丢失或服务中断。如下是简化版5步操作指南及注意事项,适合技术基础较弱但细心的小白用户:
精简5步迁移法(附避坑指南)
一、双重备份保安全
-
文件备份
- 使用FileZilla下载全部网站文件(含隐藏的.htaccess)
- 避坑点:检查/public_html外的配置文件(如SSL证书)
-
数据库备份
- phpMyAdmin导出时选自定义格式勾选创建IF NOT EXISTS(防表重复)
- 应急方案:同时用mysqldump命令行备份(防面板导出失败)
二、服务器环境预配置
- 提前在新服务器安装相同版本的PHP/MySQL(可以用php -v mysql -V核查)
- 上传.htaccess文件并设置755权限(防403错误)
- 关键测试:临时绑定测试域名,检查PHP扩展(如mbstring、gd)是否缺失
三、无痛数据迁移
-
文件传输技巧
- 使用压缩包上传(zip > tar.gz更省时)
- 解压后检查文件数量是否一致(ls -l | wc -l快速比对)
-
数据库极速导入
- 大数据库用BigDump工具分块导入(防超时)
- 必做项:执行REPAIR TABLE修复可以能损坏的表
四、暗箱测试阶段
- 修改本地hosts文件指向新IP(Win路径:C:\Windows\System32\drivers\etc\hosts)
- 测试重点功能:
- 表单提交(测试数据库写入)
- 伪静态页面(防规则不兼容)
- 图片/css加载(排查路径错误)
五、平滑切换策略
-
DNS切换时机
- 选择凌晨切换(TTL提前改为300秒)
- 新旧服务器并行运行24小时(防部分地区缓存)
-
零感知迁移
- 设置301重定向(捕捉旧服务器残留请求)
- 用Cloudflare做中间代理(实时监控解析状态)
小白常见翻车现场
-
图片404错误
- 根源:绝对路径未替换
- 解决:sed -i 's/old-domain.com/new-domain.com/g' *.html
-
数据库连接失败
- 检查wp-config.php中MySQL密码特殊符号是否转义
-
SSL证书失效
- 提前申请新证书,安装后测试https://www.ssllabs.com/ssltest/
迁移后必做检查
- Google Search Console提交新sitemap
- 使用Screaming Frog扫描死链
- 对比新旧服务器日志(tail -f error.log实时监控)
按照这个流程操作,配合文中Linux命令和工具,即使是新手也能在6小时内完成安全迁移。建议在操作前用Site24x7等工具做好实时监控,遇到卡点可以优先检查文件权限(特别是wp-content/uploads目录需777权限)。保留旧服务器7天后再彻底关停,给自己留足回退余地。