Hexo博客同时部署在GitHub与Coding上并双线绑定域名

前言

本文记录如何将Hexo博客同时部署在GitHub和Coding上。

Coding是什么?我自己的理解:Coding就像是国内的GitHub,托管博客在国内访问比GitHub速度快。我们配置绑定域名时可以让国内访问Coding,其余的访问GitHub。

双项绑定域名,即在海外访问域名时访问的是GitHub,国内访问时访问的是Coding。

Coding上新建项目并配置

首先注册Coding,注册后绑定腾讯云就可以升级成为银会员(银会员才可以绑定域名)。

创建项目

名称填写自己的Coding用户名,勾选启用 README.md 文件初始化项目进行创建(我也不知道为什么要勾选,看别人是这么说的,以后明白了再回来修改)。

部署公钥

依次进入设置->部署公钥->新建部署公钥,公钥内容粘贴id_rsa.pub内的内容(生成方法在我的上一篇文章GitHub+hexo折腾记第6节中查看)。

部署成功后验证是否添加成功了

1
$ssh -T git@git.coding.net

成功后会返回下图:

SSH部署

将博客部署到Coding

在bolg根目录的_config.yml配置文件下加一个Coding的git地址:搜索deploy:,增加一行

1
coding: // 此处填写你自己的git地址

我的配置:

1
2
3
4
5
6
7
deploy:
type: git
repo:
github: # github地址
coding: # coding地址
branch: master
message: '站点更新: {{ now("YYYY-MM-DD HH:mm:ss") }}'

然后执行命令行将博客更新到Coding以及GitHub

1
hexo clean && hexo g -d

浏览

至此,现在已经可以通过Coding给出的地址(下图)来访问我们的博客页面了

双线绑定域名

如果在此之前已经将自定义域名绑定到了GitHub上,请先将域名解析处的GitHub地址先删除掉,因为这会影响双线绑定的成功。这里我们以腾讯云申请的域名为例。

  • 首先在腾讯云域名解析内添加解析,Coding自定义域名那里有详细的解释。添加解析

    将红圈内的链接填入记录值内,此处将线路类型设置成默认添加解析

  • 然后在Coding自定义域名下绑定新域名。

  • 注意:此处一定要先添加Coding的解析,若已经添加了GitHub的解析请先删除,否则SSL证书审核就会出现问题,Coding有个奇怪的规则是必须海外和国内同时能访问到页面时才能审核成功,否则会一直失败。Coding自定义域名

  • 过一会儿如果访问正常了,那么再去将GitHub的解析添加进去,方法差不多,记录值为你的库名(***.github.io),此处的线路类型一定要设置成海外(图片参考上面上面红框外的两条数据)。

  • 之后在GitHub上绑定自定义域名,打开库->settings,下拉找到GitHub Pages,在Custom domain处添加域名,然后点击SaveGitHub绑定域名

  • 至此,我们绑定域名的操作已经完成了,打开蓝灯访问域名访问到的就是GitHub。博客访问速度明显加快啦~

Coding中转页

访问博客时会有一个5s钟的中转页,这个页面是因为使用Coding托管了我们的博客造成的。设置中给出了解决办法,就是在首页的任意地方添加上它们的代码(毕竟不会让你白用。。),如果使用Next主题的话,在/themes/next/layout/_partials/share/footer.swig下最后添加一行代码:

1
<p>Hosted by <a href="https://pages.coding.me" style="font-weight: bold">Coding Pages</a></p>

结语

因为我是先给GitHub绑定的域名,所以导致Coding的SSL证书一直审核失败,Chrome访问博客时会提示网站不安全不让进,域名解析又要10分钟才能生效导致测试很不方便,整整研究了多半天才找到是因为先绑定了GitHub的原因(具体原因可能是海外访问时已经被指定到了GitHub的托管下,访问不到Coding才会这样),写下来做一笔记,免得再踩坑!

参考文章

Coding帮助文档

用GitHub和Coding双线绑定自定义域名

-------------End,感谢阅读!-------------

本文标题:Hexo博客同时部署在GitHub与Coding上并双线绑定域名

文章作者:加贝H

原始链接:https://jiabeih.cn/2018/08/30/Hexo博客同时部署在GitHub与Coding上并自定义域名/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。