前言

尽管如今博客已经被公众号等平台完美取代了,但出于兴趣我还是花很大精力着手搭建了这个个人博客网站。现在它基本成型,我在此做一下总结。不同于那些只说其然不说其所以然的所谓手把手的教程,我不写每一步具体如何实现(百度谷歌关键词都很容易找到),而是写这个过程中用到了哪些东西,并通俗易懂地说明为什么要用到他们,它们实现了什么功能。

hexo

hexo 是一个个人博客框架。依靠 hexo,用户可以只关注文章本身了,写好文章后由 hexo 自动把文章按照特定样式生成 html 文件。具体使用请参照 hexo 官方网站。按要求操作后,就可以在本地看到个人博客网页了。

buttefy

啊!虽然……但是……这默认的样式太丑了吧……好在 hexo 可以更改主题,网上有很多大佬创作的主题,我目前使用的是 buttefy,使用教程参照 buttefy 官网。获取主题后根据需要修改配置参数即可生成自己喜欢的主题样式。

GitHub pages

什么?博客只能在本地看?那我还不如打开我的日记本呢!善良的GitHub pages 免费提供了静态网站托管服务,我们将本地的内容托管到上面,即可在任何设备上使用它提供的网址来访问此个人博客了。

服务器

但是不得不吐槽,这个访问速度真的太慢了,有时候甚至需要科学上网,而且这个网址又长又无意义。那索性就不托管在 GitHub pages 了(虽然是白嫖的,但还是嫌弃),干脆自己买一个服务器吧。我使用的是腾讯云的服务器。通过它提供的公网 ip 地址,就可以访问到这台服务器。

nginx

访问到服务器之后,它怎知道我要访问的是什么地方呢?类比于个人计算机,我打开这台电脑要访问哪个文件呢?可以使用 nginx 来解决这一问题,利用 nginx 监听 80 端口,挂载目录设置到哪里,当访问这台服务器的 80 端口时就会访问到那个位置。

git

本地测试好的博客如何送往服务器呢?当然是利用 git。git 可以将本地 hexo 推送到服务器的特定仓库中。

hooks

???可是刚才不是说访问到的是 nginx 挂载的那个目录吗,仓库里的接受到的东西怎么同步到那个目录呢?利用 hooks 钩子脚本,即可在每次检测到向仓库 push 之后,自动将其同步到挂载目录,这样当通过公网 ip 访问服务器的 80 端口时,就会访问到挂载目录,而这个目录已经利用 hooks 同步了生成好的博客文件,这意味着在任何浏览器中输入公网 ip,就可以打开个人博客网站了。

域名

公网 ip 这一长串数字像话吗?不会真有人能记住吧?……那只能再花钱了,买个域名。

dns 解析

域名买了,怎么跟服务器建立连接呢?此时需要进行dns 解析,将域名解析到服务器的公网 ip 上,这样在浏览器中输入域名之后,就等同于输入绑定的公网 ip,于是就可以通过自己心仪的域名访问个人博客了。

备案

好景不长,进去几次之后就会被封锁。因为在我国要通过域名访问服务器,是要受到监管的,需要去工业和信息化部进行 icp 备案,去全国互联网安全管理服务平台进行公安备案。要是在个人网站上发布不正当内容,是很大几率被警察叔叔请去喝茶的,年轻人,耗子尾汁!

结语

到此为止,一个像样的个人博客就上线了。(不过好像没什么用)就随便记录一下学习与生活,写写学习笔记或随笔吧。