2026 重读:这是十年前的旧文,方案上保留原貌,Hexo 今天仍在维护,这条路线依然走得通;但如果是现在从零开始,可能会考虑 Hugo / Astro / Eleventy——我自己也把博客从 Hexo 迁到了 Hugo。评论系统 Disqus 因广告与隐私问题不再推荐,今天的同类选项是 Giscus(基于 GitHub Discussions)。部署环节如今基本由 GitHub Actions 接管,不再需要手动把
public/推上去。
WordPress 这类博客系统功能强大,但对只想随手写点东西的人来说有点重。而且 WordPress 需要部署,服务器本身就是负担:国内服务器要备案、费用不低,国外服务器访问速度受影响。
近来接触到一种新的博客系统 Hexo,它的不同之处是:把博客的编写和页面渲染都放到线下完成。在本地编写博文的 Markdown 文件,使用 Hexo 生成博客网站的全部静态 HTML,然后把生成的文件上传到服务器就行了。
那么 WordPress 里的评论等动态功能怎么办呢?放心,第三方服务商早已为我们考虑过。例如 Disqus 就是一家第三方社会化评论系统,主要为站长提供评论托管服务。
了解 Hexo
A fast, simple & powerful blog framework
Hexo 是一个快速、简洁且高效的博客框架。Hexo 使用 Markdown(或其他渲染引擎)解析文章,在几秒内,即可利用靓丽的主题生成静态网页,Hexo setup 官方文档。
安装 Hexo
所有必备的应用程序安装完成后,即可使用 npm 安装 Hexo:
npm install -g hexo-cli
建站
安装 Hexo 完成后,请执行下列命令,Hexo 将会在指定文件夹中新建所需要的文件:
hexo init <folder>
cd <folder>
npm install
新建完成后,指定文件夹的目录如下:
├── _config.yml
├── package.json
├── scaffolds
├── source
| ├── _drafts
| └── _posts
└── themes
新建一篇文章
hexo new [layout] <title>
如果没有设置 layout 的话,默认使用 _config.yml 中的 default_layout 参数代替。如果标题包含空格的话,请使用引号括起来。
生成静态文件
hexo generate
# 可以简写为
hexo g
启动服务器
hexo server
# 可以简写为
hexo s
网站会在 http://localhost:4000 下启动。在服务器启动期间,Hexo 会监视文件变动并自动更新,您无须重启服务器。
部署静态网页到 GitHub
注册设置 GitHub
- 登录 GitHub,注册自定义用户名如:
imzyf - 在主页右下角创建 New repository,name 必须和用户名一致如:
imzyf.github.io - 等待 3 分钟左右,之后即可访问静态主页如:
https://imzyf.github.io
同步内容至 GitHub
- 在 Hexo 目录下
git clone git@github.com:imzyf/imzyf.github.io.git - 将
public文件下的所有文件拷贝到imzyf.github.io下 git add .增加当前子目录下所有更改过的文件至 indexgit commit -m 'xxx'提交到本地git push origin master将当前分支 push 到远程 master 分支1- 最后访问主页
https://imzyf.github.io观察效果
绑定个人域名
在 GitHub 项目页面,Settings → Pages,Source 选择部署分支,Custom domain 填写自己的域名,并勾选 Enforce HTTPS。2
在你的域名服务商那里,将填写的域名解析到 <username>.github.io,例如 imzyf.github.io。
– EOF –