【声明】本博客所有内容均为个人业余时间创作,所述技术案例均来自公开开源项目(如Github,Apache基金会),不涉及任何企业机密或未公开技术,如有侵权请联系删除
背景
上篇 blog
【Ubuntu】【Gitlab】拉出内网 Web 服务:Gitlab 配置审视(八)
分析完了 server 块中的 location 配置,下面进入一个新领域:搭建私人博客
搭建私人博客
虽然在线博客,比如 CSDN,博客园,掘金,知乎专栏等平台提供了便捷的在线写作和发布环境,但有时候会有些比较私人,系统化的内容,更想记录在一个自己的专属空间里(不图流量,不图曝光),这个时候,私人博客就是个比较好的选择,下面将用一些篇幅着重介绍下搭建私人博客的过程
首先来看下,私人博客和在线博客的一些特点和区别,从几个角度:内容自主可控,个性化与自由度,长期稳定性与可迁移性等等方面
- 数据所有权 :对于在线博客等平台,写的文章属于平台托管 ,平台可能修改规则,下架内容,甚至关闭账号等(当然,正常情况下,这种也比较少),而私人博客的数据完全由自己掌握
- 无审查限制 :平台可能会对敏感词,技术讨论 (有些技术可能还是比较敏感的),个人观点进行过滤或删除,而私人博客只要遵守法律法规,内容自由度高得多
- 设计自由:可以完全自定义博客的外观,布局,交互逻辑等,而不用受平台模板限制(属于风格可以自定义吧)
- 功能扩展:可以集成评论系统,搜索,暗黑模式,RSS 订阅(让用户订阅网站的更新内容,而无需频繁手动访问网站),多语言支持等等,按需定制,组件化程度高
- 域名专属 :可以拥有自己的域名,建立专业形象,CSDN 虽然也可以自定义域名,但属于
xxx.csdn.net这样的子域名

- 易于备份与迁移:私人博客(一般是静态博客)本质是一堆 HTML 文件 + Markdown 源文件,可轻松备份到 GitHub,本地硬盘或迁移到任何服务器,备份和迁移方便
- 专注写作,无干扰:私人博客干净简洁,没有广告,没有推荐流,读者体验更纯粹,不会被平台广告或无关内容干扰。
- 避免数据追踪:大型平台一般会收集用户行为数据用于推荐或广告,而自建博客可选择不集成任何追踪脚本
举个形象点的比喻,博客平台是租来的摊位,而私人博客是自己盖的房子,如果只图方便,用平台博客就足够了
OK,分析完平台博客和私人博客的一些特点,下面来分析看私人博客都有哪些主流系统,首先是第一类:主流静态博客生成器(适合大多数人,其主要优点在于安全,快速,免费托管,版本可控,支持 Markdown 语法等)
1、Hugo(Go 语言),极速之王
- 适合人群:追求极致构建速度、希望快速迭代内容的人
- 优势 :构建速度极快(万篇文章秒级生成,Go 语言本身就是性能利器 ),博客主题丰富(可参考 Hugo 主题网站 https://themes.gohugo.io),原生支持多语言,分类,标签,RSS 订阅,搜索等功能
- 缺点:模板语法(Go Template)对新手稍有门槛
2、Hexo(Node.js),中文生态友好
- 适合人群:熟悉 JavaScript / Node.js 的用户,尤其中文博主
- 优势 :插件生态成熟(比如
hexo-deployer-git一键部署),中文主题多(NexT,Butterfly 等美观且功能强),社区教程丰富(B站,知乎大量入门指南) - 缺点:依赖 Node 环境,大型站点构建较慢
3、Jekyll(Ruby),GitHub 官方亲儿子
适合人群:想用 GitHub Pages 但不想折腾部署的人
- 优势 :GitHub Pages 原生支持,无需 CI/CD,并且与 GitHub 深度集成(Issues 评论、Actions 自动构建等)
缺点 :国内配置略麻烦,主题较少更新
这里再提一点,上面提到的三种系统都是静态博客生成器(Static Site Generator,简称 SSG) ,SSG 可以将纯文本内容(一般是 Markdown 文件)和模板自动转换为完整的静态 HTML 网站,其流程大致如下

SSG 不依赖数据库或服务器端脚本(没有后端) ,最终生成的网站只包含 HTML,CSS,JavaScript 和图片等静态文件,可以直接通过任何 Web 服务器(甚至 GitHub Pages 等免费托管平台)快速,安全地提供服务
OK,本篇先到这里,如有疑问,欢迎评论区留言讨论,祝各位功力大涨,技术更上一层楼!!!更多内容见下篇 blog
【Ubuntu】【Hugo】搭建私人博客(二)