hexo搭建博客

Hexo 是一个快速、简洁且高效的博客框架。Hexo 使用 Markdown(或其他渲染引擎)解析文章,在几秒内,即可利用靓丽的主题生成静态网页。
通过以上说明,我们可以知道基于hexo搭建的博客最终是一个静态文件形式的网站,我们在markdown中编写内容,之后通过hexo进行生成具有样式效果的网页文件。

环境

网上有很多基于github page托管的搭建例子,大家可以自行搜索。这里,我使用阿里云服务器进行托管,将生成后的静态文件部署在nginx中

  • 阿里云服务器(ECS)

步骤

1. hexo构建博客

首先,参考hexo官方文档进行hexo的安装

1
2
3
4
5
6
7
8
9
# 安装hexo(需要有node环境,这里不做赘述)
npm install -g hexo-cli
# 初始化hexo博客文件
hexo init <folder>
cd <folder>
# 安装依赖包
npm install
# 创建一片新文章,layout默认为post
hexo new [layout] <title>

2. 使用主题美化你的站点

默认的hexo主题相对比较简单,为了追求酷炫。我们可以到主题展示寻找自己喜欢的主题。正常来说每个主题都有其相应的安装和配置文档,这里不做赘述

3. 你的站点应该使用全站https

全民SSL证书的时代,程序员自己的博客站点怎么可以落下。但是商业的SSL证书都是相当的贵,如:Symantec、GeoTrust、GlobalSign这三个品牌都是国际知名,而且知名的贵。
所幸我们可以使用Let‘s encrypt为我们提供的免费SSL证书。默认的有效时间为10个月,但是可以通过工具进行自动续期,也是相当好用的^_^
参考官方文档进行安装

1
2
3
4
5
6
7
8
# 获取certbot客户端(Let's Encrypt的SSL证书管理的工具,可以用户创建证书,并且自动配置nginx使其成为一个SSL站点的服务器)
wget https://dl.eff.org/certbot-auto

# 创建SSL证书(这里我使用nginx作为站点的服务器.创建之后,会在目录/etc/letsencrypt存放着相关的证书文件)
certbot-auto --nginx -nginx-server-root=nginx安装目录/conf/nginx.conf -d 你要使用ssl证书的域名

# 由于let's encrypt颁发的证书,时效性是10个月,我们需要在过期时自动续期。同样官方也提供了工具。我们可以将一下命令放置到linux服务器中的cron定时执行
certbot-auto renew

3. 优雅地发布hexo博客

如果是基于github page托管的形式的话,可以使用github的webhook功能。相关的方法大家可以上网自行搜索
这里由于我是在自己的ECS服务器中通过nginx部署,我将采用一个叫做hexo-admin的插件。这是我通过学习 博主格子Lin 的文章了解而来的。
这里补充两个内容:

1
2
3
4
5
# 如何生成bcrypt hash的密码呢?
# 在安装了node的环境下,执行以下命令,可以获得相应的加密密码串
node
const bcrypt = require('bcrypt-nodejs')
bcrypt.hashSync('你的密码')

1
2
3
4
# 我个人习惯,把站点的原始文件和配置托管到了BitBucket上(一个可以免费创建私有仓库的git托管网站),因此我在博主[格子Lin](https://www.jianshu.com/p/68e727dda16d) 的文章中提到的deploy脚本中,添加了自动提交代码的命令。前提是git客户端记录了你的BitBucket账号密码
git add .
git commit -m 'hexo admin'
git push origin master

总结

至此,整个hexo建站的流程大概就是这样。当然还有一些内容还未提到,我本身也是刚接触到hexo这种形式的工具。后面学习到其他姿势,再来这里补充说明了 ⁄(⁄ ⁄•⁄ω⁄•⁄ ⁄)⁄