我的博客没有服务器:但拥有后台、评论区和全球秒开的速度

历经几天,我的博客架构按照我的构想,得以实现,我很激动!😎

这套博客架构理论上是永久免费!没有服务器!!!

集合了各个主流平台的free计划和提供的基础服务,加上我自开发的 Ongwu Simple主题,让前端看起来简洁大气。

这套博客架构中每个组件都扮演着关键角色,组合在一起形成了一个兼具速度、安全、功能性和个性化的优秀架构。

来欣赏下我的博客:https://www.ongwu.cn

下面为你详细介绍这个技术栈中的每一个组件:

系统架构总览(“动静分离”的设计)

  • 静(速度与安全): 博客核心内容由 Hexo 生成静态页面,通过 Vercel 和 Cloudflare 全球加速。
  • 动(功能与交互): 评论、后台管理等功能由PostgreSQL处理,并通过 API 与静态页面交互。
  • 个性化: 自开发主题赋予了网站独一无二的外观和体验。

工作流程图

各组件详细介绍

1. Hexo (静态博客框架)

  • 角色: 引擎
  • 作用: 写作的 Markdown 文件交给它,它会根据自定义的 Ongwu Simple 主题,编译生成一整站纯粹的 HTML、CSS、JS 静态文件。

2. GitHub (代码托管平台)

  • 角色: 仓库与触发器
  • 作用: 存储 Hexo 博客所有源代码(文章、配置、主题文件等)。是版本控制和备份工具,更重要的是,当有新的提交(比如通过 Qexo 或手动 git push)时,它会自动通知 Vercel 开始重新部署。

3. Vercel (全球部署平台)

  • 角色: 托管与自动部署
  • 作用: 自动连接到 GitHub 仓库。当收到仓库变动的通知后,会自动运行 hexo generate 命令来构建静态文件,并将生成的文件发布到其全球边缘网络上。访客可以从离他们最近的服务器毫秒级加载博客。提供免费的 HTTPS 域名和极高的可靠性。

4. PostgreSQL (关系型数据库)

  • 角色: 动态数据存储
  • 作用: 用于存储需要动态变化的数据。在这个架构中,它主要服务于 Waline 评论系统,用来存放所有的评论数据、用户信息等。它也可以为 Qexo 提供一些数据存储支持。

5. Cloudflare R2 (对象存储)

  • 角色: 文件仓库
  • 作用: 类似于 AWS S3,但流量免费。可以用它来存放博客的各类附件、下载资源等大型文件,避免占用 GitHub 仓库空间或拖慢 Vercel 部署速度。

6. Cloudflare-ImgBed (图床)

  • 角色: 专业图像管家
  • 作用: 不仅存储图片,更能提供即时缩放、格式转换(如转为 WebP/AVIF)、优化压缩等功能。博客中所有图片都由它托管和交付,能极大提升页面加载速度和节省流量。

7. Qexo (动态管理后台)

  • 角色: 大脑与控制台
  • 作用: 从“静态”回归“动态”管理的关键组件。它是一个独立的 Web 应用程序,提供了一个类似 WordPress 的仪表盘。可以通过浏览器:
    • 在线写作和编辑文章(无需本地命令行的 hexo newgit push
    • 管理文章
    • 更新配置
    • 连接并管理数据库
    • 当点击发布后,Qexo 会自动帮你完成生成、推送到 GitHub 等一系列操作,极大提升了便利性。

8. Waline (评论系统)

  • 角色: 读者交流区
  • 作用: 一个优秀、现代的评论系统。替代了传统的 Disqus,提供:
    • 邮件通知
    • 管理员回复
    • 表情包支持
    • 无广告、隐私友好
    • 数据就存放在 PostgreSQL 数据库中,完全掌控自己的数据。

9. 自开发主题:Ongwu Simple

  • 角色: 脸面与灵魂
  • 作用: 定义了:
    • 网站的整体设计、布局和风格
    • 用户体验和交互逻辑
    • 集成 Waline、Qexo 等第三方服务

ok!介绍这里,后面这个分类菜单,会继续更新记录我的搞站之旅,欢迎来访~

有需要可以留言,我会即时收到回复~ 😘

评论