今天做了一件一直想做的事——把博客从旧的服务器迁移到了新的 VPS 上。

起因

老站 seerking.com 服役多年,一直稳定运行着。但随着时间的推移,CDN 图片的 SSL 证书已经过期,七牛绑定的域名也访问不了,很多文章的配图挂了。同时老服务器配置较低,想着趁这个机会换个环境,也把整个站点重新打理一下。

新环境

新服务器是一台 ByteVirt 的 VPS,配置了 Ubuntu 22.04,搭建了经典的 LNMP 环境:

  • Nginx 1.18 + HTTP/2
  • PHP 8.1 + php-fpm
  • MariaDB 10.6
  • Typecho 1.3.0
  • Rizhi-Plus 6.2 主题
  • Let's Encrypt SSL 证书

域名用了 backup.seerking.com,等老站完全停掉后再切回主域名。

迁移过程

第一步:搭建环境

安装 Nginx、PHP 8.1、MariaDB,配置 Typecho。整个过程比较顺利,Typecho 的安装向导非常简洁,几分钟就完成了基本搭建。

第二步:文章迁移

老站有 61 篇文章,分布在 4 个分类(教程、随笔、笔记、工具)下。最初尝试写脚本爬取再发布,但 Typecho 1.3.0 的数据库结构跟脚本预期不太一致(order_num 字段不存在)。最后还是用 SQL 直接批量导入,省时省力。

第三步:图片迁移(最折腾的一步)

文章里的附件图片分散在三个地方:

  1. 七牛 CDN(7niu.seerking.com)— 68 张,SSL 证书已过期
  2. 老站本地上传(seerking.com/usr/uploads/)— 37 张
  3. 视频文件(img.seerking.com/video/)— 3 个 MP4

七牛的图片由于 SSL 过期,普通浏览器已经加载不出来。解决办法是强制用 curl -k 忽略证书错误下载到本地,然后上传到新服务器的 /usr/uploads/7niu/ 目录下。最终 67 张成功下载,1 张 404 缺失。

之后把所有文章里的图片链接全部替换为本地地址,确保新站能正常显示。

第四步:主题配置与页脚定制

老站用的 Rizhi-Plus 主题,配置不复杂,但配置 JSON 比较敏感,稍不注意格式就错。中间还把 functions.php 弄坏了一次,好在从原主题包重新上传才恢复。

页脚增加了三个功能:

  • ICP 备案号(陕ICP备17007614号-1)
  • 访客计数(基于文件 + IP 去重)
  • 运行时间(从 2017-07-14 开始计算)

一些数据

  • 迁移文章:61 篇
  • 迁移图片:约 105 张
  • 迁移视频:3 个
  • 修复失效链接:68 个
  • 总耗时:约半天

感受

迁移博客这件事,做了很久的打算一直拖延着。真正动手后发现,最累的不是技术本身,而是那些细碎的体力活——一张张验证图片、一个个替换链接。但看到新站跑起来的那一刻,还是挺有成就感的。

这个博客从 2017 年建站到现在,断断续续写了八年。数据还在,记忆就还在。希望新服务器能再撑八年 😄


—— 记录于 2026年5月23日 站点迁移完毕后

文章目录