博客从共享虚机迁移到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
```
如果数据库比较大,可以用分卷导入或者直接用宝塔的数据库管理工具导入。
#### 第四步:修改配置文件
检查以下内容并修改:
- 数据库连接信息(如果用户名密码变了)
- 网站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端口,同时把密码改成强密码。有条件的话绑定密钥登录。
推荐阅读
标签:服务器迁移,VPS搭建,博客运维,宝塔面板
微信号:15207283116
服务器迁移遇到问题可以加我微信,看到会回复。
还木有评论哦,快来抢沙发吧~