hexo到Typecho的迁移日志
📘迁移日志🚩
2018年hexo博客是当红炸子鸡,第一次接触博客的我搭建了第一个个人博客。搭建好的一个月内,给博客做了大量的折腾工作。包括:各种插件、自定义样式、自定义页面、SEO优化、缓存加速、百度统计等。光样式表就写了700+
行,可以说是基本更换了NexT主题的原始样式。之后也没有更新很多文章,进入了半弃坑状态,2020年疫情在家开始重拾博客更新,期间给博客水了N篇LeetCode题
🔎为什么迁移?
2021年,距离上次折腾博客已经过去了三年,在长时间更新博客时,hexo总有让我不太满意的地方。
- 比如local search在本地文章多的时候,生成search.xml的速度太慢,导致同学经常吐槽博客"搜个东西转圈那么久",由于hexo本身是纯静态博客,由nodejs支撑其主要功能,所以快速的搜索只能依赖于本地索引或者第三方api。
- 插件和定制化过多,拖慢了网站访问速度,后期加上了CDN才勉强压缩到2s左右。
- NexT的简约扁平化风格看腻了,几年过去了,hexo已经衍生了更多优秀的主题,升级主题带来的成本比较大(由于个人定制内容过多)。
- 因为部署在服务器,hexo三连部署太慢,每次都要生成全部文章等在电脑前部署
- 评论区、邮件发送功能、数值统计功能均依赖于第三方api
🍡为了更好的博客体验,我决定重新搭建个人博客,选用Typecho作为博客的引擎。
Typecho博客由PHP驱动,以前总会觉得Typecho需要数据库支撑会带来许多运维困难,但如今随着宝塔面板在云服务器的充分使用,运维问题已经非常简化了。相对于hexo,Typecho带来了如下优点:
- 更加快速、简洁的网站体验,网站访问速度基本在1-2s内。
- 得益于数据库驱动,文章搜索不再需要前端在用户访问时生成动态索引,避免了搜索东西转圈的问题。
- 更好更现代的运维方式,文章发布不再需要三连部署,后台点击发布即可实时看到发布的新文章,组件通过宝塔面板能够更好的维护,支持定时任务备份数据。
- 不再需要第三方api接入,评论系统从hexo的valine+leancloud的组合改为存储在数据库中,数值统计不再依赖于busuanzi
- 更好的视觉效果~
🚠关于分站
以前的站点是服务器+github+coding的三线部署,为了更好的保留以前的分站效果,旧站的hexo博客托管到了github,如今的github也是全面拥抱了DevOps,hexo用户不再需要通过烦琐的三连命令部署了,直接推送分支代码到仓库,github便会快速的CI/CD,变得更加易用了!同时,主站和分站也开启了相互链接,欢迎从顶部导航栏进入曾经的分站~
🚴Typecho环境
数据库:Mysql: 8.x+ 后端语言:PHP: 7.x+ Web服务器: Nginx: 1.20+ 缓存:CDN、Service Work、Redis
🥗愿景
希望在今后的日子里,分享更多更高质量的文章~😋