前言
本文记录如何将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 |
成功后会返回下图:
将博客部署到Coding
在bolg根目录的_config.yml配置文件下加一个Coding的git地址:搜索deploy:,增加一行
1 | coding: // 此处填写你自己的git地址 |
我的配置:
1 | deploy: |
然后执行命令行将博客更新到Coding以及GitHub
1 | hexo clean && hexo g -d |
浏览
至此,现在已经可以通过Coding给出的地址(下图)来访问我们的博客页面了
双线绑定域名
如果在此之前已经将自定义域名绑定到了GitHub上,请先将域名解析处的GitHub地址先删除掉,因为这会影响双线绑定的成功。这里我们以腾讯云申请的域名为例。
首先在腾讯云域名解析内添加解析,Coding自定义域名那里有详细的解释。
将红圈内的链接填入记录值内,此处将线路类型设置成默认。
然后在Coding自定义域名下绑定新域名。
注意:此处一定要先添加Coding的解析,若已经添加了GitHub的解析请先删除,否则SSL证书审核就会出现问题,Coding有个奇怪的规则是必须海外和国内同时能访问到页面时才能审核成功,否则会一直失败。
过一会儿如果访问正常了,那么再去将GitHub的解析添加进去,方法差不多,记录值为你的库名(***.github.io),此处的线路类型一定要设置成海外(图片参考上面上面红框外的两条数据)。
之后在GitHub上绑定自定义域名,打开库->settings,下拉找到GitHub Pages,在Custom domain处添加域名,然后点击Save。
至此,我们绑定域名的操作已经完成了,打开蓝灯访问域名访问到的就是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才会这样),写下来做一笔记,免得再踩坑!