zwb.io

0. 个人需求

偶然读到 使用GitHub和Hexo搭建免费静态Blog 这篇文章就中了 Hexo 的毒,有发现新大陆的欣喜,终于寒假在家用三天时间把欲望化成了成果。

开始的需求是非常模糊的,就像一个暴发户看见别人开一辆靓车,内心涌现「妈的,真好看,我也得搞一辆」。而我到了寒假,成了「时间的暴发户」,开始实施心中朦胧的需求。

直到做到一半,我才明白自己真正想要的是什么。让我明白从一个想法到明确的需求之间,需要阅读大量相关材料,一定的实践和技术积累的。不是我想要一个xxx那么简单的。以下我边实践,边完善的需求与方案表。(括号内为放案)

  1. 一个终身的域名。(在 GoDaddy 购置 zwb.io 两年,2018年1月到期。)
  2. 国内、外都可高速稳定解析的 DNS服务器。(使用 DNSPOD
  3. 稳定,高速,不被审核的空间。(github + 七牛 待优化)
  4. 一个自主的博客系统,自主搭建,定制化高,本地 md 文件备份,操作便捷。(Hexo 待优化)
  5. 简洁优雅的主题 (Maupassant 待完善)

其实,需求具体化就是罗子雄所讲「将一个大问题,细分为一个个可以解决的小问题」。此步骤大体遵循数据流转次序。

域名 ——> DNS解析 ——> 主机 ——> 博客系统 ——> 界面

1. 购买域名

全球最大域名服务商,对比发现,确实便宜啊。godaddy官网

记得搜 「GoDaddy优惠码」,我搜到一优惠30%的码,购买 zwb.io 便宜了近200元。靠谱!

2. 本地安装 hexo

如果不想折腾 「Farbox」 已经满足以上大部分需求,且我已经买了它的服务。最终没有选择他的原因,因为他不是我的,本质上我拿一堆 MD 文件,他的系统帮我做好了一系列之后的事情,这感觉与发博客到「简书」,感觉类似。

「Farbox」很优秀,但 Hexo + Github 更自由。


请参考 Hexo官方文档,个人 Linux 系统安装过程,供参考。

  • 搭建环境

    1
    2
    3
    $ sudo apt-get install nodejs
    $ sudo apt-get install npm
    $ sudo apt-get install git
  • 安装 Hexo

    1
    $ npm install -g hexo-cli

    我遇到错误提示:

    1
    /usr/bin/env: node: No such file or directory

    执行以下命令解决

    1
    $ sudo apt-get install nodejs-legacy
  • 遇到错误 Error: Cannot find module './build/Release/DTraceProviderBindings

    1
    npm install hexo --no-optional
  • 安装插件可参考

    Linux下github+hexo搭建自己的博客

3. github 空间配置

参考:

如何搭建一个独立博客——简明Github Pages与Hexo教程

史上最详细的Hexo博客搭建图文教程

由于 Github 在国内速度不理想,想利用国内空间服务来加速网站加载速度。本来最理想的方案是:

Gitcafe Pages 服务,可参考 「如何备份Github博客至GitCafe」,可是今天访问 GitCafe 一直显示 500 ,估计是跪了。

一计不成,又生一计。我自己是有国内空间的 TobeWho,我可否启动子域名 blog.tobewho.com ,然后将 zwb.io CNAME 到子域名,国内访问走这条路径,不就提高了访问速度啦!简直被自己的机智打动了。

第一步,阿里免费主机不支持子域名,参考 「通过.htaccess文件将二级域名绑定到子目录」完美解决。

第二步,将子域名绑定到主机,并添加解析。参考 「阿里云虚拟主机绑定二级域名到子目录」 ,完美解决。

第三步,静静期待奇迹的发生。然后看到 阿里云公告,无备案的域名不能接入。计谋扑街了,看来想这么做需要将域名转到 阿里云,并用阿里的空间,备案完成才行。回想备案那复杂的流程,若为自由故,速度也可抛。

心中又生一计。用 「七牛」做图床,加速网络总行吧,参考 「使用七牛作为github博客的图床」。结果七牛认证也需要身份证拍照什么的,看了下蛮简单的,而且「七牛」也提供域名绑定功能,也就是说以后可以将静态网站布置到七牛上,前提是有国内备案。暂时还不考虑,做法可参考 「hexo-qiniu-sync」。

目前的写作流程。

Emacs写作 ——> 简书并加题图 ——> hexo 生成文件 ——> 将「简书」生成图放 hexo/images ——> 修改图片链接到其牛 ——> hexo 提交到 zwb.io

流程貌似复杂,以后再慢慢优化。

4. 域名解析

对比「阿里云解析」与 DNSPOD 发现,还是 DNSPOD 界面友善,功能齐全,可以按国内国外等线路设置不同访问路径,优化线路,还有状态检测等等,测试总体感受胜于 「阿里云解析」。

GitHub Pages 绑定来自阿里云的域名

注意A记录只能填 GitPages ip地址,CNAME 只能填 域名值 如 zwb.io

GitPages ip 地址:Tips for configuring an A record with your DNS provider

5. 切换主题

大道至简——Hexo简洁主题推荐

这主题,实在喜欢。暂无简介页和订阅页,待我慢慢完善。

6. 最后

一不小心刚看到 知名主机商Linode被关键字屏蔽,看来在这片土地上,备案才是正确的姿势。

毕竟未来也一定会为阿里云的主机付费,等备案后,hexo 直接 ftp 部署到阿里与七牛好了。把hexo文件直接放在dropbox文件夹,实现国外备份,随时部署。

最后, zwb.io 欢迎您。