前一段时间Google开放了.app的域名申请,当时我搜了一下自己想要的一个域名,但是感觉有点小贵就没下手,没想到过了几天这个域名就没了。所以火急火燎的买了现在这个域名,但是一时间没想好要干嘛,思来想去的不如就建个小博客站吧。
准备阶段
GitHub
首先是先在自己的GitHub上创建一个新的Repository,名字为xxx.github.io,这个xxx必须是自己GitHub的用户名,否则不能成功。
创建好之后进入该项目的Settings,找到GitHub Pages
这里要选择自己的显示的分支,网上有人说一定要建gh-pages分支,其实没必要。另外Save之后就无法修改了,所以这里要注意一下。
GitHub Pages支持Jekyll,不过我用hexo,所以这个不用管了。
Custom domain这个是绑定自定义域名到你的github.io上。此处表面上是只能输入一个,实际上可以在项目里建立一个CNAME文件,往里面写入多个自己的域名都行。
Enforce HTTPS 这个重点说一下。今年五月份起
GitHub Pages“支持”HTTPS,这个支持的意思是从五月份起,新建的github.io都必须开启HTTPS,否则不能访问。这里就有个坑,此处暂时不表。
自定义域名
网上域名商有很多,国内的域名商需要备案,网上很多人说建议在国外的域名商买域名,这个就见仁见智了,看自己需要。
有一点要注意的是,购买域名后要对域名的DNS做处理,否则是无法访问的。我这个域名实在GoDaddy上买的,GoDaddy的管理页就能设置域名的DNS域和转发网址,嫌麻烦的话其实在里面跟github.io绑定就行。
我用的是Dnspod,目前免费。使用方式是先注册,然后在里面的控制台添加域名(就是自己申请的自定义域名)。
添加完之后点进去,就可以添加记录:
网上一些帖子告诉你这里填的A记录的IP是错的,现在由于要使用HTTPS,所以要用troubleshooting-custom-domains这个页面内提供的四个IP:
- 185.199.108.153
- 185.199.109.153
- 185.199.110.153
- 185.199.111.153
由于Dnspod只能免费填2个A记录,所以随便选2个IP填就是了。
之后要去自己买的域名的控制台那边修改DNS域:
图上是修改好的样子。
上述步骤完成后等一段时间,可以用dig命令(我是linux平台)检测一下自己的github.io和自定义域名的A记录是否一致。
坑
这里就是1.1里提到的坑。当你设置完上述的所有东西之后,回到GitHub项目的Setting页,很大可能你会在GitHub Pages处看到两种提示,大概是:
自定义域名不支持HTTPS
HTTPS证书正在处理下发
这两种提示2选1,都有可能出现。问题是第一个提示,这个非常误导人。我当时以为是我的哪个设置弄错了,折腾很久,还给github.com/contact发了个工单。
但实际上这两个提示根本没什么卵用,你所能做的就是等。一般一个晚上的时间就能好,实在不行就给github发工单。
Hexo
Hexo是基于Node.js的,所以使用之前要先安装好Node,再用npm命令安装。
Hexo的使用其实很简单,主题页很多,官网提供的theme有大概200多个(吐槽一下,大多都是性冷淡色调,虽然我用的这个也是)。唯一要注意的是,网上很多比较过时的文章,里面提到的用法现在都不支持了。事实上官网本身就有简体中文的教程、文档,而且下面还有评论,多看看大概就知道怎么使用了
值得一提的是,Hexo的发布每次都是重新生成所有文件,再全部覆盖提交的GitHub上,所以要注意把不想被覆盖的文件添加到Hexo的source目录里。
还有一点是,Hexo发布到GitHub上的文件都是生成后的文件,Hexo自身的源文件不会上传上去。一种解决方法就是在自己的github.io项目上新建一个分支,将当前的Hexo文件都保存在新分之上。
评论