前言

githubPage搭建hexo博客 这篇文章中,介绍了如何利用github和hexo部署个人博客。
但是众所周知,github在国内访问速度很慢。所以我们在coding上部署一个镜像站点,实现双线访问。

coding注册

coding 1月20号开始凌晨更新,好多地方和原来不一样了,现在只能注册团队用户

  1. 进入coding官网 点击免费注册
  2. 创建项目,选择DecOps项目。项目名和项目标识以及仓库名一致
  3. 配置公钥,以实现部署时免密。与github一样,个人设置–>增添公钥,
    但是你现在没有公钥,使用 ssh-keygen -t rsa -C "yourEmail@example.com" 生成,在用户目录下 .ssh 中到id_rsa.pub文件,复制到框中。

在命令行输入 ssh -T git@e.coding.net 来检查是否配置成功,

若出现以下提示,则证明配置成功:

1
2
Coding 提示: Hello XXX, You've connected to Coding.net via SSH. This is a personal key.
XXX,你好,你已经通过 SSH 协议认证 Coding.net 服务,这是一个个人公钥

配置根目录下的_config.yml

通过修改站点配置文件,实现github和coding的同时部署。

1
2
3
4
5
6
deploy:
type: git
repo:
github: https://github.com/imgyh/imgyh.github.io.git
coding: https://e.coding.net/imgyh/imgyh.git
branch: master

这里可以用SSH的那个链接也就是这种的git@github.com:imgyh/imgyh.github.io.git以及git@e.coding.net:imgyh/imgyh.git
这两种好像是配合上面的公钥来使用的,就不用输密码了,
但是我没成功,执行sudo hexo d一直在报Permission denied (publickey). fatal: Could not read from remote repository.这个错误
后来我换成HTTP后问题又来了,HTTP向远端推送时需要输入用户名和密码,可是coding的已经取消了用户名这样的唯一标识(github用户名唯一)他的用户名变成了邮箱

1
2
Username for 'https://e.coding.net': xxx@qq.com  
Password for 'https://xxx@qq.com@e.coding.net':

解决了以上问题后,就可以push代码了

1
2
3
sudo hexo clean
sudo hexo g
sudo hexo d

开启coding page和aliyun解析


再开启自定义域名

首先要有一个域名,可以去阿里云买域名
然后添加解析

github的域名解析线路选择境外,coding_page域名解析线路选择默认,也可以再添加一个解析线路选择百度,让百度的爬虫去爬

one more thing

使用了CNAME需要在hexo本地博客的source文件夹中创建CNAME文件,无后缀。在里面写入自己的域名

参考资料

1.hexo史上最全搭建教程
2.Hexo 双线部署以实现百度收录