今天给大家最近蛮火的 Hexo 静态博客框架,熟悉明月的都知道明月最近几天一直都在折腾研究 Hexo 静态博客框架的博客站——『明月登楼 Hexo 博客』(hexo.imydl.tech),其实这个博客明月很早就有了(可参考「开始体验 Hexo 纯静态化博客平台」一文),至今都快 8 个多月了,期间被搁置了一段时间没有搭理过,最近又仔细深入的研究折腾了一番收获不少,今天就给大家来讲讲这个 Hexo 静态博客框架。
何谓动态网站、静态网站?
首先我们要明白一个博客网站平台所谓的动态和静态的区别是啥?这个可能很多新手站长们是很模糊的,因为概念太抽象了,没有相关技术原理经验的一时半会儿可能不是很好理解。所谓的动态,其实就是指网页渲染输出都是通过动态调用解析生成的,比如 WordPress、Typecho 这类就是所谓的动态博客平台,这类博客平台有一个重要的特点就是网页的渲染输出需要后台 PHP 代码 MySQL 数据库动态的运算和调用来完成的,生成的网页并不是静态 HTML 文件,需要服务器端再“伪静态”来伪装成 HTML 文件呈献给客户端。而所谓的静态,就是类似于 Hexo 静态博客框架这样的直接渲染生成 HTML 标准的文件呈献给客户端,最大的特点就是不需要数据库的支撑就可以完成,同时客户端的访问直接就是服务器上的 HTML 标准文件,减少了服务器端的脚本解析环节和数据库查询获取的环节,访问速度自然是动态的无法比拟的。可以说这种纯静态化的访问几乎不会损耗多少服务器的资源,在访问量巨大的时候这个优势尤为明显,这也是为啥很多网站外包服务的公司喜欢使用帝国 CMS、织梦 CMS 这类老掉牙的网站平台了,就是因为其生成的纯静态网页对服务器配置几乎没有要求,一个廉价到不能再廉价的虚拟共享主机就可以满足日常的流量需求了。
Hexo 框架网站的好处
无论是动态还是静态都是有利有弊的,两者之间的性能差异随着“云服务器技术”的日趋成熟和廉价也变得越来越小了,现在一个几百元的 N 年的 VPS 主机部署一个动态的博客网站平台性能已经可以满足个人博客、中小企业官网的流量需求就是个明证。纯静态的网站平台目前看反而是多用在访问量巨大的场景,其实主要就是为了节约成本考量的,今天要给大家说的这个『Hexo 静态博客框架』就是一个纯静态的博客网站框架,也就是一款基于 Node.js 的静态博客框架,依赖少、易于安装使用,可以方便的生成静态网页托管在服务器上,并且Hexo 使用 Markdown(或其他渲染引擎)解析文章,在几秒内,即可利用靓丽的主题生成静态网页。也就是说 Hexo 是区别于我们熟悉的 WordPress、Typecho 这类博客平台的,严格意义上来说 Hexo 只是一个框架而已,主要负责使用 MarkDown 渲染引擎使用主题模版快速的生成纯静态 HTML 网页。也就是说网站华丽与否跟 Hexo 关系不大,有关系的仅仅是主题模版而已,并且每次要发布文章的时候都需要运行 Hexo 框架程序生成输出一下 HTML 纯静态网页到指定的网站根目录。
总结了一下 Hexo 框架下博客网站的好处如下:
- 纯静态博客,部署简单、成本低廉、运行优化非常高效。
- Hexo 静态博客框架可以在云端,也可以在本地电脑上甚至手机上。
- Hexo 框架的博客网站没有网站后台,不存在后台安全漏洞的问题。
- 因为是纯静态的,几乎所有的 CDN 服务都可以完美的加速提升浏览速度。
- 搜索引擎对纯静态网站有天然的青睐度,收录、权重优先权明显。
- 纯静态网站会让网络攻击成本大大的增加也就是说纯静态网站被攻击的可能性更低了。
Hexo 的常见误区
目前网络上有关 Hexo 的文章数量巨大,几乎大部分都是千篇一律,炒剩饭的居多,无非就是 Hexo 站点的环境部署、配置、优化以及主题配置使用说明这些,其中比较流行的就是借助 GitHub 的 GitPages 服务免费托管 Hexo 站点了,这让不少人都认为 Hexo 站点跟 GitHub 有关系(还有一个中国香港的类似 GitHub 的 Coding,目前好像已经被腾讯云收购,就不多说了),甚至依赖于 GitHub。其实这是个一个很大的误区,Hexo 站点不见得非要部署到 GitHub 上,这不是必须的。像我们有自己站点和服务器的博客站长们其实就用不到,因为无论你的服务器是虚拟共享主机还是独立虚拟主机(VPS)都可以轻松部署 Hexo 站点上去的,Hexo 框架下的站点对服务器没有任何大的要求,理论上只要有一个存放生成的纯静态 HTML 文件的目录即可,极端点儿说甚至类似 Nginx、Apache 这样的 Web 服务器应用都不需要。Hexo 框架程序和纯静态文件甚至都不需要在一起,那怕是一个在本地电脑上,一个在云端都是可以的,明月总结了几个 Hexo 框架站点场景如下:
- 本地电脑搭建 Git、Node.js、Hexo 框架环境 云端服务器存储访问环境
- 云端 Git、Node.js、Hexo 框架环境 GitHub 免费 GitPages 页面存储访问环境
- 本地电脑搭建 Git、Node.js、Hexo 框架环境 GitHub 免费 GitPages 页面存储访问环境
- 云端 Node.js、Hexo 框架环境 云端服务器存储访问环境
上述四种方式场景都可以用来搭建自己的 Hexo 站点,大家不用好奇,明月使用的是第四种场景来搭建 Hexo 博客的,并且比较奢侈的给 Hexo 博客加了付费的又拍云 CDN 加速服务(可参考『本博客已经迁移至独立 VPS 并启用又拍云 CDN 加速』一文)大家自行围观体验吧。
再有就是 Hexo 框架下站点文章的撰写方式跟我们常见的网站平台也是不一样的,因为没有网站管理后台,所以文章的撰写一般都是借助于第三方的编辑器来完成的。Hexo 默认支持 MarkDown 语法,所以支持 MarkDown 语法的编辑器自然就是首选了,Windows 端像 MarkDownPad 2 这样的纯 MarkDown 编辑器使用还是非常不错的,云端目前明月使用的是 Linux 自带的 Vim 编辑器来撰写 Hexo 博客文章,根据你的 Hexo 架构环境不同选择不同的编辑器即可。
Hexo 是否适用你?
这个请大家根据自身实际需求和条件来选择,虽然 Hexo 框架站点有很多好处,但是 Hexo 框架的不足之处还是不少的,要想熟练使用和掌握还是需要一定的服务器知识、Linux 知识、Node.js 开发知识的基础的,否则只能是“生搬硬套”最后得不偿失,对于没有自己的服务器也不行花费购买的,上述第二个场景是个最经济的方案了,你只需要购买一个自己的域名即可,如果不在意 GitHub 提供的免费二级域名甚至都可以免费搭建出一个自己的纯静态博客网站来。目前看使用 Hexo 框架搭建个人博客的学生居多些,我想“免费”是主要原因吧!
总之,有技术知识基础的话,建议大家可以尝鲜自行体验一下 Hexo,很多东西只有自己亲身体验了才能感受到其强大所在和不足之处,再说体验不同的网站平台搭建本身也是一个自我学习、自我理论与实践相结合提升自身能力的好方法嘛!
·END·