每次都通过githubpages来访问可能稍显冗长,而且github最近越来越不稳定,几次我都以为是被墙了。在偷懒心的作用下我开始了一场有惊无险的更换域名之旅…
前言
关于github pages
+hexo
+个性域名
的教程网上很多,我这里只列出我自己的亲身经历,以供参考
购买域名
域名的购买有很多途径
以上两个都可以,随便选一个自己喜欢的就可以了。首先进入上述链接,在搜索栏里输入自己理想的域名,如果未被抢注就可以购买之,一般价格在几十块一年。我最终选用的是godaddy的,以下的教程也以其为例。(其实阿里云更好,可以域名+解析一条龙)
设置域名解析
如果是买的阿里云的域名的话,应该可以直接在我的产品
里找到解析选项,我这里虽然购买的是godaddy
的域名,但是并没有使用它提供的DNS解析服务,因为dodaddy
是一个新加坡的网站,因为某些不可描述的原因,为了稳定性着想,最好是采用国内的域名解析服务,我采用的是DNSPod,这个是腾讯的服务,而且是免费的
添加域名
在这里点击添加域名,输入你刚购买的个性域名,如我的就是prozac-laputa.com
点进去按这样设置
其中,第一项第二项为gituhub的ip,三四项无法修改,第五项,类型设置为CNAME
,值设置为githubpages的链接如username.github.io
设置域名服务器
因为我这个购买域名的网站和域名解析的服务商不是一家,所以需要在域名商
也就是godaddy
这里设置域名服务器
。
注意,上述这个页面是要邮箱验证之后才会显示。我其实一星期前就买了这个网站,但是发现一直无法修改,突然在另外一个博客里看到域名购买之后需要马上验证,要不然会有被封锁的风险。急忙打开邮箱,完成了验证
将域名服务器的两个值分别设置为我图中的设置即可
设置github的CNAME
需要在github里你这个项目的根目录下创建一个名为CNAME
的文件(注意没有后缀),里面就写上你购买的域名即可,但是这样麻烦的是每次deploy
之后就需要重新建立一次,非常麻烦。实际上,只需要在你本地的source
(hexo的source,不是主题的source)里新建这个CNAME
即可,这样就可以每次自动生成CNAME文件
我的经历
设置完上面的各个步骤之后,理论上应该只需要等待即可。但是我因为是第一次设置比较紧张,经历了一个非常惊心动魄的过程。我在完成上述步骤之后,突然发现不仅新网站打不开,原来的githubpages页面也自动定向到了yoursite.com
这个页面,把我吓了一跳,可是当我把DNSPod
的解析服务给停了之后,我的githubpages还是没有恢复!也就是说,还有dns服务商在解析我这个网址!使用网上的解析跟踪服务时发现,github.io
这个后缀的根本解析不到,也就是说暂时找不到谁在解析我github域名.瞬间有种博客废掉了的感觉,只能自己本地访问的博客有什么用…我甚至还有换个github账号的冲动,还好等待了一段时间之后我发现新域名可以访问了,原来的链接依旧链接为yoursite.com
,这才明白这就是解析本身的问题,相当于dns服务器会把我的githubpages链接解析成新地址的ip,但是新地址还没有部署好,所以就会出现之前那样的错误,至于为什么会是yoursite.com
,我也不太清楚,可能是因为我最开始的时候CNAME里的值为默认的yoursite.com
没有修改(但是我还是没有想明白为什么在停掉dns解析服务之后还是会出现那样的错误…)
总结
遇到问题不要轻易放弃,要尽可能地想办法解决(本来我计划是之后找学校计院的老师问一下的…)