概述
作为开发者,你是不是每天都会在查阅资料的时候浏览别人那些设计精美、内容硬核的独立技术博客?看着别人分享的代码解析、架构思考、开源项目,是否也曾想过——“我也该有一个这样的博客网站” ?
别再犹豫了!零成本、零服务器、零运维 ,只需一点代码和Markdown,你就能拥有一个高速、自由、完全可控的技术博客。用Jekyll 生成静态页面,用GitHub Pages 托管全球访问,无需担心数据库、服务器、CDN,甚至域名都可以先不买——你的技术表达,值得被更多人看见。
现在,就让我们用开发者最熟悉的方式,从命令行开始,构建你的数字名片吧!
常规思路
如果让你搭建一个独立技术博客时,脑海中浮现的方案很可能是这样的:
-
购买云服务器
- 选购阿里云/腾讯云/AWS的ECS
- 纠结配置:1核1G还是2核4G?
- 比较年付优惠,最终花费500-1000元/年
-
搭建运行环境
- 配置Nginx虚拟主机
- 调试PHP与MySQL连接
- 申请SSL证书配置HTTPS
-
安装博客系统
- WordPress :占全球43%网站份额
- Typecho :轻量级PHP博客
- Hexo :需要Node.js环境
-
日常维护
- 凌晨3点的MySQL崩溃告警
- WordPress插件安全漏洞
- 蜘蛛爬虫耗尽服务器资源
- 数据备份焦虑
这套方案最大的悖论在于:你只是想写博客,却不得不先成为运维专家 。每次想写新文章时,都要先解决一堆技术问题。
那怎么办?没关系,我有绝招教你!
Github Pages
-
Github Pages是什么?
GitHub Pages 本质上是一个开箱即用的托管服务 —— 你可以把它理解为 GitHub 官方维护的、面向所有人免费开放的 Nginx 服务器。你的代码仓库就是它的网站根目录,每次提交代码都会自动触发部署,就像把静态文件直接上传到一台配置完善的 Web 服务器上一样简单。
你可以在这个Nginx上可以部署任何静态的HTML页面,甚至Github还给你提供一个免费的公网域名~
-
GitHub 为什么提供这个功能?
GitHub 的核心是代码协作,而开发者除了写代码,还需要展示代码的成果、分享技术见解。GitHub Pages 的初衷很简单:
- 降低技术分享的门槛:让开发者专注于内容,而不是折腾服务器;
- 无缝衔接开源生态:项目文档、教程、Demo 页面可以直接和代码仓库绑定,形成闭环;
- 推广 GitHub 生态:吸引更多人用 GitHub 管理内容,形成社区效应。
-
为什么用它搭技术博客?
- 零成本启动:不需要租 VPS 或备案域名(当然也支持自定义域名),一个 GitHub 账号就是全部“基础设施”。
- 极简工作流:写文章 = 提交 Markdown 文件,更新博客 =
git push
,内容和代码版本同步管理,再也不会遇到“本地稿子丢了”的悲剧。 - 天生适合技术人:如果你习惯用 Git,那它就是最自然的博客工具;如果还不熟悉 Git,正好借此学习——毕竟,哪个开发者能绕开版本控制呢?
- 可扩展性:虽然开箱即用是静态页面,但通过简单的配置,能实现主题、分页、标签等动态功能,甚至用 GitHub Actions 自动化构建。
GitHub Pages 当然不是万能的,但它对技术博客来说刚刚好。
如果你只是写写技术文章、记录学习笔记,或者展示项目文档,GitHub Pages 的轻量和简洁反而成了优势。不用操心服务器维护,不用怕数据库崩掉,改几个文件、推一次代码,更新就生效了。
-
Github Pages怎么用?
-
创建专属仓库
新建Github仓库,命名必须为:<username>.github.io
(例如用户devuser
就命名为devuser.github.io
)
https://github.com/new
试试这个:https://github.com/flyforeverth/flyforeverth.github.io
-
克隆仓库到本地
git clone https://github.com/devuser/devuser.github.io
-
添加HTML文件
在仓库根目录创建index.html
:
<!DOCTYPE html>
<html>
<body>
<h1>Hello World!</h1>
</body>
</html>
-
推送代码
提交代码到GitHub:
git add .
git commit -m "First website"
git push -u origin main
-
自动生效
访问 https://<username>.github.io
(首次部署约等待1-2分钟)
试试这个:https://flyforeverth.github.io/
-
自定义域名
Github默认提供<username>.github.io
形式的域名供页面访问,如果你自己有域名,可以在自己的域名上添加一个CNAME记录。
比如将flyforeverth
.dewu.com
通过CNAME记录映射到flyforeverth
.github.io
,后续就可以使用flyforeverth
.dewu.com
来打开Github Pages啦。
Jekyll模板引擎
-
Jekyll是什么?
Jekyll 是一个静态站点生成器,内置 GitHub Pages 支持和简化的构建过程。 Jekyll 使用 Markdown 和 HTML 文件,并根据您选择的布局创建完整静态网站。 Jekyll 支持 Markdown 和 Lick,这是一种可在网站上加载动态内容的模板语言。 有关详细信息,请参阅 Jekyll。
-
Jekyll怎么用?
-
本地安装 Jekyll 工具链
# 安装 Ruby(版本 ≥ 2.5)
brew install ruby # macOS
# 安装 Jekyll 和 Bundler
gem install jekyll bundler
# 验证安装
jekyll -v # 应输出版本号(如 4.3.2)
-
挑选现成博客主题
推荐从这些热门主题起步:
- Minimal Mistakes(适合技术文档)
- Chirpy(含暗黑模式)
- TeXt(中文优化)
网上浏览别人博客的时候,只要发现别人的博客域名是github.io
结尾,那大概率也是基于Jekyll架设的个人博客。
你就用域名的第一段userName去搜索用户,然后去把他的博客仓库克隆下来,改吧改吧你就可以用了。
-
克隆主题到本地
以 Minimal Mistakes 为例:
git clone https://github.com/mmistakes/minimal-mistakes.git myblog
cd myblog
bundle install # 安装依赖
⚠️ 注意:删除原主题的 .git
文件夹(避免冲突):
rm -rf .git
-
修改个人信息
关键配置文件:_config.yml
title: "你的博客名"
description: "这里是博客描述"
url: "https://你的用户名.github.io"
author:
name: "你的名字"
avatar: "/assets/images/avatar.jpg" # 替换头像图片
links:
- label: "GitHub"
icon: "fab fa-github"
url: "https://github.com/你的用户名"
-
预览静态网站
bundle exec jekyll serve # 本地启动
访问 http://localhost:4000
预览效果:
自动化
我们现在有了一个可以公网访问Nginx、博客也变成成了静态网站(HTML/CSS/JS),现在就是要想办法将这个静态网站部署到Nginx了!
借助Github提供的【持续集成】能力和对Jekyll的原生支持,我们可以实现,代码push就编译。
-
切换部署源
-
配置CI工作流
-
推送Jekyll项目到仓库
将上述基于【Jekyll模板】修改的个人站点代码,推送到Github Pages仓库。
等待几分钟,就可以看到你的博客站点啦~
总结
好了,你现在可以开始写自己的技术博客了!