什么时候该从共享主机迁移到 VPS?
以下任意一条出现,就说明共享主机开始成为瓶颈:
- 月访问量超过 10–15 万,页面加载变慢
- 收到主机商的”资源超限”警告邮件
- 在流量高峰期(促销活动)网站明显卡顿甚至宕机
- 需要安装特定软件(如自定义 PHP 扩展)
- 开始管理 5 个以上网站,共享主机套餐费用不划算
迁移前的准备工作
1. 选择 VPS 服务商
推荐选项:
| 服务商 | 最低月价 | 特点 |
|---|---|---|
| Vultr | $6 | 性价比极高,全球节点多 |
| DigitalOcean | $6 | 文档最完整,新手友好 |
| Cloudways | $11 | 不需要自己配置服务器,推荐新手 |
如果你不懂 Linux 服务器管理,强烈推荐选 Cloudways 而非纯 VPS。Cloudways 底层是 DO/Vultr,但把服务器配置都帮你做好了,不需要手动安装 LNMP。
2. 准备 VPS 服务器环境
如果选纯 VPS(如 Vultr):
需要安装 LNMP 或 LAMP 环境。推荐用 宝塔面板(中文界面),安装步骤:
# Vultr Ubuntu 22.04 服务器,SSH 连接后执行:
wget -O install.sh https://download.bt.cn/install/install-ubuntu_6.0.sh
sudo bash install.sh ed8484bec
宝塔面板安装完成后:
1. 访问 http://服务器IP:8888,设置管理员密码
2. 安装推荐套件:LNMP(Nginx + MySQL + PHP 8.1)
3. 等待安装完成(约5–10分钟)
如果选 Cloudways:
注册后直接在面板创建”应用”,选择 WordPress,5分钟完成部署,跳过上面所有步骤。
3. 在新服务器创建 WordPress 站点
- 宝塔面板:网站 → 添加站点,填入域名
- Cloudways:Applications → Add Application → WordPress
4. 备份当前网站
必须做,不可跳过。
推荐用 All-in-One WP Migration 插件(免费版最大迁移 512MB):
- 在旧主机的 WordPress 后台安装 “All-in-One WP Migration”
- All-in-One WP Migration → Export → 导出到文件
- 下载导出的
.wpress文件到本地
如果网站超过 512MB,改用 WPvivid Backup 或直接手动迁移(见下文)。
迁移步骤
方法一:使用迁移插件(推荐新手)
步骤:
- 在新 VPS 的 WordPress 上安装 “All-in-One WP Migration”
- All-in-One WP Migration → Import → 上传之前导出的
.wpress文件 - 等待导入完成(根据文件大小需要5–30分钟)
- 完成后,登录新 WordPress 后台(临时域名)验证内容是否完整
方法二:手动迁移(适合大型网站)
第一步:迁移文件
通过 FTP 或 SSH 将旧主机的 wp-content/ 目录完整下载,上传到新服务器的对应位置。
# 使用 rsync 直接在服务器间传输(速度更快)
rsync -avz --progress user@旧主机IP:/home/user/public_html/wp-content/ /www/wwwroot/新域名/wp-content/
第二步:迁移数据库
在旧主机 cPanel → phpMyAdmin → 导出数据库(SQL格式)。
在新服务器上传并导入:
mysql -u 数据库用户名 -p 数据库名 < 备份文件.sql
或通过宝塔面板的 phpMyAdmin 图形界面导入。
第三步:修改 wp-config.php
新服务器的数据库连接信息不同,需要更新:
define('DB_NAME', '新数据库名');
define('DB_USER', '新数据库用户名');
define('DB_PASSWORD', '新数据库密码');
define('DB_HOST', 'localhost');
第四步:更新数据库中的域名
如果临时域名和正式域名不同,需要替换数据库中的 URL:
UPDATE wp_options SET option_value = 'https://你的正式域名' WHERE option_name = 'siteurl';
UPDATE wp_options SET option_value = 'https://你的正式域名' WHERE option_name = 'home';
或使用 Better Search Replace 插件一键替换。
测试新服务器(切换 DNS 前)
修改本机 hosts 文件,将域名临时指向新服务器 IP,只有你自己能看到新版本,其他访客看到的还是旧网站(零停机的核心)。
Windows hosts 文件位置: C:\Windows\System32\drivers\etc\hosts
添加一行:
新服务器IP 你的域名
然后在浏览器访问你的域名,如果显示的是新服务器的 WordPress,说明迁移成功。
验证检查清单:
– [ ] 首页正常加载
– [ ] 博客文章可以正常访问
– [ ] 表单提交功能正常
– [ ] 图片全部显示正常
– [ ] 后台能正常登录
– [ ] 插件功能正常
切换 DNS(正式上线)
测试通过后,修改域名 DNS 将其指向新服务器 IP:
- 登录域名商后台(Namecheap/Cloudflare/万网等)
- 找到该域名的 A 记录
- 将 IP 地址改为新 VPS 的 IP
- 保存,等待 DNS 生效(通常5分钟–2小时)
DNS 生效后,hosts 文件中的测试记录可以删除。
迁移后优化
切换完成后,立即做以下配置:
- 配置 SSL 证书:在宝塔面板申请 Let’s Encrypt 免费 SSL
- 安装缓存:
- Nginx 服务器 → FastCGI Cache 或 Redis Object Cache
- 推荐安装 WP Rocket($59/年,值得)
- 配置 Nginx 规则:WordPress 固定链接需要特定 rewrite 规则
- 设置自动备份:宝塔面板 → 计划任务 → 添加备份任务
- 安全加固:修改 SSH 端口、禁用 root 登录、安装 fail2ban
迁移失败常见问题
Q:迁移后图片不显示怎么办?
检查文件权限,wp-content/uploads/ 目录权限应设为 755,文件为 644。
Q:迁移后固定链接404怎么办?
WordPress 后台 → 设置 → 固定链接 → 重新保存(不改任何东西,直接点保存)。如果还不行,检查 Nginx/Apache 的 rewrite 配置。
Q:迁移后乱码怎么办?
数据库导入时确保字符集为 utf8mb4,导入命令加参数:
mysql --default-character-set=utf8mb4 -u user -p dbname < backup.sql
总结
从共享主机迁移到 VPS 是 WordPress 网站成长的必经之路。整个过程的核心原则:
- 先在新服务器测试好,再切换 DNS
- 做好备份,任何时候都能回滚
- 不懂 Linux 的话,选 Cloudways 而非纯 VPS