博客从共享虚机迁移到VPS:我的血泪踩坑全记录

说出来不怕你们笑话,我之前用的那个虚拟主机,1核1G内存,博客跑起来CPU占用率就没下过80%。文章稍微多一点,数据库一大,页面加载要8秒钟。我一直忍着,直到有一天百度统计显示跳出率高达85%,我才意识到问题有多严重。

咬牙买了台VPS,迁移过程中踩了无数坑。今天把完整流程写出来,希望你别再走我的弯路。


为什么要从共享虚机迁移到VPS?

先说说我为什么下决心换:

共享虚机的问题

  • 资源配置固定,想升级得换套餐
  • 网站被攻击,隔壁邻居可能拖累你
  • SSH权限基本没有,想优化环境得看脸色
  • 晚上高峰期速度慢得像蜗牛

VPS的好处

  • 资源独享,CPU内存都是你的
  • root权限,想怎么配就怎么配
  • 可以装宝塔、1Panel这些管理面板
  • 网站速度直接起飞

价格其实差不多,共享虚机一年200多,VPS入门款也是这个价。但体验真的是天壤之别。


迁移前的准备工作

1. 备份!备份!备份!

重要的事情说三遍。迁移前一定要做完整备份:

  • 网站文件:FTP下载或者用tar命令打包
  • 数据库:用phpMyAdmin导出SQL文件,或者用mysqldump命令
  • 配置文件:nginx/apache配置、php配置、域名解析记录

我建议打包成zip或tar.gz,文件名带上日期。比如`wushuangbk_backup_20260712.tar.gz`

2. 选好新服务器

新手推荐国内厂商:阿里云、腾讯云、华为云都有学生机或入门款,一个月几十块钱。

配置建议:

  • 1核2G起步(1G真的不够用,MySQL吃内存)
  • 40G SSD云盘
  • 带宽1-5M都可以,后期可以升

地域选择和你目标用户最近的,比如主要面向国内就选华东或华北。

3. 环境选择

我推荐宝塔面板,傻瓜式操作,对新手友好。LNMP环境一键安装,不用自己编译。


迁移步骤详解

#### 第一步:新服务器环境搭建

1. 重装系统(清空默认环境)

2. 安装宝塔面板:`yum install -y wget && wget -O install.sh https://download.bt.cn/install/install_6.0.sh && bash install.sh`

3. 安装LNMP环境(Nginx + MySQL + PHP)

4. 创建网站,配置域名

#### 第二步:迁移网站文件

用scp命令直接传输(服务器对服务器,速度快):

```bash

scp wushuangbk_backup_20260712.tar.gz root@新服务器IP:/www/backup/

```

或者你本地下载了再上传也行,用宝塔的文件管理器直接传。

传到新服务器后,解压到网站目录:

```bash

tar -xzvf wushuangbk_backup_20260712.tar.gz -C /www/wwwroot/wushuangbk.com/

```

#### 第三步:迁移数据库

在新服务器创建同名的数据库和用户,然后导入:

```bash

mysql -u用户名 -p数据库名 < backup.sql

```

如果数据库比较大,可以用分卷导入或者直接用宝塔的数据库管理工具导入。

#### 第四步:修改配置文件

博客从共享虚机迁移到VPS:我的血泪踩坑全记录-第1张图片-无双博客

检查以下内容并修改:

  • 数据库连接信息(如果用户名密码变了)
  • 网站URL地址(从http改成https)
  • 缓存目录路径

WordPress用户特别注意:wp-config.php里的站点地址一定要改成新的。

#### 第五步:测试访问

这时候不要急着改域名解析。先修改本地hosts文件,把域名指向新服务器IP,在浏览器里测试访问是否正常。

测试清单:

  • [ ] 首页能正常打开
  • [ ] 文章页面能访问
  • [ ] 图片显示正常
  • [ ] 后台能登录
  • [ ] 搜索功能正常

迁移中的几个坑

坑1:PHP版本差异

我之前虚拟主机是PHP5.6,新服务器装的PHP8.0。结果有个插件不兼容,网站直接白屏。解决方法:先查清楚老环境的PHP版本,新服务器装一样的或者更高的。

坑2:伪静态规则不兼容

Nginx和Apache的rewrite规则不一样,直接迁移可能404。宝塔面板里每个网站都有伪静态选项,选对CMS对应的规则。

坑3:域名解析切换的空档期

改完解析之后,DNS生效需要几小时到48小时。这期间新旧服务器都有人访问,可能造成数据不一致。解决方案:先在新服务器配置好,测试通过后再改解析。

坑4:Let's Encrypt证书

如果你用了Let's Encrypt免费证书,新服务器需要重新申请。因为证书和服务器绑定,迁移过来证书就失效了。


迁移后的收尾工作

1. 修改DNS解析

把A记录指向新服务器IP,然后等待生效。可以去 https://dnschecker.org/ 看看全球DNS节点的生效情况。

2. 提交百度闭站保护(可选)

如果预计迁移时间超过48小时,建议去百度搜索资源平台申请闭站保护。等新站上线后再申请恢复,可以减少排名损失。

3. 更新百度抓取

去百度搜索资源平台,使用"抓取诊断"功能,让蜘蛛重新抓取首页。

4. 检查SSL证书

确保新服务器HTTPS配置正确,别出现证书过期或者混合内容的问题。


常见问题FAQ

Q:迁移过程中网站会宕机吗?

A:正常情况下不会。DNS生效之前,旧服务器还在正常工作。等DNS完全切换到新服务器,网站就无缝接入了。

Q:文章URL会变吗?

A:如果你用的是静态URL结构(如 /post/123.html),且在新服务器配置了同样的伪静态规则,URL就不会变。如果变了,记得做301重定向。

Q:SEO权重会丢失吗?

A:如果是同平台迁移(虚拟主机到VPS)、URL不变的情况下,权重基本不会丢失。百度需要重新认识你,但一般1-2周就能恢复。

Q:数据库太大导入失败怎么办?

A:可以分卷导入,每10万条记录分一个文件。或者用命令行导入,不要用phpMyAdmin(phpMyAdmin对大文件支持不好)。

Q:新服务器SSH端口默认22容易被攻击怎么办?

A:第一时间改SSH端口!去宝塔面板的安全设置里改SSH端口,同时把密码改成强密码。有条件的话绑定密钥登录。


推荐阅读

1. 个人博客服务器怎么选:共享虚机/VPS/云服务器对比

2. 博客VPS被黑过一次才明白:服务器安全得这么配

3. 博客备份与恢复全攻略:数据丢了才知道后悔


标签:服务器迁移,VPS搭建,博客运维,宝塔面板


微信号:15207283116

服务器迁移遇到问题可以加我微信,看到会回复。