文章目录

  • 1.dns 解析的相关基础知识
    • dns 解析的基本流程
  • 2 申请域名
  • 3 dns解析
  • 4.github和coding的设置
    • coding的设置
    • github的设置
  • 5.github CNAME 文件
  • 至此,大功告成

见我的博客 https://blog.wyue.site/2018/03/27/1/

转载前请联系我,联系方式请见我博客 https://blog.wyue.site/

最近又有点空,把丢弃好久的blog https://wyue.name/又拿出来折腾了一番。
这次想要记录一下,hexo博客搭建过程中个性化域名的相关事情。主要是从个性化域名的绑定,到dns的解析的整个过程。涉及到的坑主要有

  1. dns 解析的相关基础知识
  2. 国内博客托管到 coding 国外托管到github
  3. 同一个域名分别解析到这两个地址
  4. 这两个博客托管网站上的设置。特别是github 有一个奇怪的CNAME 文件要放到根目录下,如何利用hexo直接生成

这里默认大家已经在coding和github上托管好自己的blog了。也就是说,可以用 username.github.io 和 username.coding.me 访问自己的博客了。如果大家还不清楚的话,网上教程很多。也可以到我的博客留言( http://wangyue.ml/2018/03/27/cjf9jiwhs000ckkjhxijce6yl/)。

下面就是详细内容啦。

1.dns 解析的相关基础知识

这方面我也是现学现卖。水平大概是刚刚好能把这个博客搭起来并且正确设置成自定义域名的水平。要是有什么不对的,欢迎留言指正.

dns 解析的基本流程

这部分其实参考了很多 这里,这里,还有这里 的内容。具体可以参考前面三个网址。我这里大概点到后面会涉及的几个概念。

  1. DNS 的定义和作用

    DNS (Domain Name System 的缩写)的作用非常简单,就是根据域名查出IP地址。你可以把它想象成一本巨大的电话本。举例来说,如果你要访问域名math.stackexchange.com,首先要通过DNS查出它的IP地址是151.101.129.69

  2. DNS 解析的过程

    就拿博客来举例。假设你在github上托管了一个网站,github给你分配了一个***ip地址***和一个配套的***域名***(假设为 test.github.io).

    那么你在请求 test.github.io 的时候,就要先从dns服务器上找到这个***域名***的对应的***ip地址***,如果你用的是linux服务器,你可以输入dig test.github.io 来查看这个过程。拿我这博客来说吧,输入 dig wangyue.ml(以前的域名), 应该就能看到如下字符

    $ dig wangyue.ml
    ; <<>> DiG 9.9.5-3ubuntu0.16-Ubuntu <<>> wangyue.ml
    ;; global options: +cmd
    ;; Got answer:
    ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 50601
    ;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1;; OPT PSEUDOSECTION:
    ; EDNS: version: 0, flags:; udp: 4000
    ;; QUESTION SECTION:
    ;wangyue.ml.                    IN      A;; ANSWER SECTION:
    wangyue.ml.             599     IN      CNAME   xfdywy.github.io.
    xfdywy.github.io.       3599    IN      CNAME   sni.github.map.fastly.net.
    sni.github.map.fastly.net. 29   IN      A       151.101.9.147;; Query time: 480 msec
    ;; SERVER: 10.172.11.45#53(10.172.11.45)
    ;; WHEN: Tue Mar 27 20:32:43 JST 2018
    ;; MSG SIZE  rcvd: 124
    

    我们可以看到第14号表示某服务器将wangyue.ml 解析到了xfdywy.github.io.,再 进一步又解析到了sni.github.map.fastly.net., 最后又解析到了 151.101.9.147. 可以看到前面两次都是解析到另一个***域名***(被称为 CNAME:规范名称记录(Canonical Name)),最后一次解析到了一个确定性的***IP地址***(被称为A:地址记录(Address),返回域名指向的IP地址。)。常见的dns类型记录有:

    • A
    • AAAA
    • CAA (see note below)
    • CNAME
    • MX
    • NS
    • TXT
    • SPF
    • SRV
    • NAPTR
    • HINFO
    • SSHFP

    我们今天只用到CNAME

2 申请域名

这一步就是实际操作啦。申请域名当然去哪都行。这里提供两个,一个是国内的阿里云,一个是国外的freenom 。 操作大同小异,都是

  1. 注册账号,登录
  2. 搜索并找到可用的域名,买下来(阿里云里面有一些挺便宜的域名。freenorm里面有一些收费的,也有挺多免费的,都是顶级域名,就是xxx.xxx 这种)
  3. 这一步就结束啦。买下来的这个域名就属于你自己啦。例如wangyue.ml

3 dns解析

想要在浏览器里面输入 wangyue.ml 就能跳到这里。必不可少的一步就是要告诉全世界的电脑,这个域名现在指向这个地方啦。而这一步就是由 dns服务器来负责的。我们需要做的就是将wangyue.ml 与固定的ip地址绑定起来(A),或者是与某已有域名绑定起来(CNAME).

下面我们以freenorm购买的域名为例,实现一个域名绑定多个域名,这样我们就可以实现国内访问托管在coding上的blog,国外访问托管在github上的blog。这里默认大家已经在coding和github上托管好自己的blog了。也就是说,可以用 username.github.io 和 username.coding.me 访问自己的博客了。

  1. freenom 买完域名之后,freenom提供了一个dns解析的服务。但是因为freenom的dns解析在国内可能不是很流畅,我选择cloudXNS 来做dns解析(真的不是打广告。。。。国内的也可以试试腾讯的dnspod) 。在这之前,我们需要把这个域名的控制权从freenom 交到 cloudXNS 的手上,方法就是按照 cloudXNS 提供的 dns server 地址,填到freenom的设置里面。具体操作流程为:

    购买完freenom后,从freenom首页,点击services -> my domain -> manage domain -> Management Tools -> Nameservers -> Use custom nameservers (enter below) -> 填入 cloudXNS 的 dns server地址

    如果你找不到my domain , 请确认你是不是登录了。

  2. cloudXNS的 dns server 怎么获取 : 同理。登录cloudXNS之后,选择 管理控制台 -》 我的域名 -》 添加域名,填写你刚刚在freenom购买的域名,这个时候提示域名未接管,然后会告诉你server地址是多少,怎么操作。

  3. 等待一段时间,大约1~5分钟。等待接管。

  4. 等到cloudXNS 接管状态显示已接管的时候,点击域名进行管理(以下假定购买的域名是wangyue.ml)。添加记录。

    1. 主机记录这里空着的话,表示这条记录解析的是 wangyue.ml , 如果写www, 表示这条记录解析的是www.wangyue.ml 。 剩下的同理
    2. 记录类型填A的话,后面的记录值填写IP地址。这种情况一般适用于自己买了虚拟主机,分配了一个固定 ip,然后直接解析到那个ip就行。我们这里选CNAME,解析到原始域名。(即wangyue.ml 解析到 xxx.github.io 这种)
    3. 然后在线路类型选全网默认,然后记录值填xxx.coding.me(记得把xxx换成自己的…).然后保存就好。
    4. 到上一步,我们就算已经把我们新买到的域名解析到原始的域名了。为了实现国外用户访问托管到github的博客,我们再同样添加一条记录,只不过线路选择海外默认,记录值填xxx.github.io
    5. dns 服务器端的设置就算完全结束了。下面我们需要分别到github和coding上去设置,使得我们能用新地址访问他们。(这里完全是因为github和coding的设定因素,如果你是绑定到自己的服务器的ip上去,到了这一步就已经完全结束了,可以跳过下一节)
  5. 注意,dns设置不是即时生效的,不同地方需要不同的时间,有时候几分钟就好了,有时候要一晚上一天。总之设置好去睡一觉,第二天来看应该就没问题了。不过别忘了继续往下看,下面的也很重要。

4.github和coding的设置

可能是从安全的角度和服务器负载的角度,github和coding要求自定义域名绑定的时候还要分别在自己的网站上设置一下(前半句我完全乱猜的,后半句是真的 ,认真脸)

coding的设置

首先你需要是银牌会员,个人信息填完全了就自动是了。

进入到你托管博客的那个项目,然后点page 服务, 自定义域名 ,填上 wangyue.ml. 搞定。

github的设置

进入github你托管博客的那个项目,点setting,GitHub Pages ,Custom domain , 输入wangyue.ml,点save。暂时搞定。

为什么说暂时搞定呢,因为你仔细看你github的这个repository, 你会发现一个叫做CNAME 的文件出现在根目录下,里面只有一行,就是 wangyue.ml . github 需要依赖这个文件来让你用自己的域名来访问你的blog。

但是 问题出现在,你每次部署blog之后,就是hexo g hexo d 之后这个文件都会消失。因为你本地目录下并没有这个文件,所以要想办法让hexo编译的时候就生成这个文件。

但是 问题出在hexo编译都是md文件,而且会渲染成html文件。那么怎么办呢。

5.github CNAME 文件

答案就是你把github生成的CNAME 文件放一份到你的 you blog/source/ 文件夹下,或者自己手写也行,注意文件名没有后缀,就叫CNAME, 文件内容就写你的域名 wangyue.ml

然后,最最关键的一步,你要去你blog的根目录下,修改 _config.yml 文件。

skip_render: CNAME

之后就愉快的

hexo clean
hexo g
hexo d

再次提醒注意,dns设置不是即时生效的,不同地方需要不同的时间,有时候几分钟就好了,有时候要一晚上一天。总之设置好去睡一觉,第二天来看应该就没问题了。

至此,大功告成

1

hexo自定义域名以及解析相关推荐

  1. Windows如何自定义域名hosts解析

    Hosts是一个没有扩展名的系统文件,可以用记事本等工具打开,其作用就是将一些常用的网址域名与其对应的IP地址建立一个关联数据库,当用户在浏览器中输入一个需要登录的网址时,系统会首先自动从Hosts文 ...

  2. 将hexo自定义域名升级https

    原文转载自我的博客https://benym.cn 前言 Tips:有什么问题可以在下方留言板留言哦,留下自己的邮箱,可以保证快速回复 最近在折腾博客,发现github上很多人说个人博客支持https ...

  3. Gitee Pages Pro + Hexo自定义域名

    前景摘要: 最近,本菜鸡打算把hexo的博客站点搬到gitee,毕竟gitee pages pro有一个月的免费自定义域名的机会!!   其实最主要的原因还是coding pages的延迟有点高,有1 ...

  4. CSDN博客自定义域名以及解析自己的域名到CSDN

    文章目录 注册一个域名 申请github账号 设置GitHub Pages 购买域名及域名解析 添加CNAME 大功告成 使用CSDN发布博客文章,但是有一个小问题就是,如果我给别人推荐我的文章,又想 ...

  5. 阿里云自定义域名详细过程----hexo博客配置实测详细过程整理之二

    接上一篇hexo+github博客建立完成后 依托github搭建起来的博客域名格式一般是固定的(尾端.github.io),无法做到自己自定义那种常见的baidu.com那种简洁好记的域名 网上自定 ...

  6. Hexo主题博客部署到七牛云,并使用自定义域名

    文章目录 一.七牛云配置 1.注册七牛云 2.创建空间 3.绑定自定义域名 4.去域名备案处输入CNAME 5.配置https 6.上传证书 二.部署项目 1.配置空间 2.QsunSync 操作空间 ...

  7. Github Page 个人主页——自定义域名

    原文地址 1. 前言 看本文前请确认已部署好基础的静态网页,参考上篇文章 [[Github Page 个人主页--项目部署]]. 部署好的个人网页若使用 username.github.io 访问,会 ...

  8. wget ip_10分钟搭建个人开源博客+域名ip解析

    有多少人有进行搭建个人的开源博客呢? 个人博客在咱们日常的工作中,以及在面试的时候都是加分项,不管是自己写的,还是用开源系统的都算. 一个博客从0到上线,到外部别人可以访问,经过多个步骤,比如选购云服 ...

  9. 利用GitHub搭建博客自定义域名失效问题解决方法

    自定义域名每次"hexo d"后会失效,参考网上的解决方法有两种 解决方法一: 只要在source 目录添加一个新文件CNAME就好 CNAME –不带任何后缀,这就是全称,里面写 ...

最新文章

  1. 学习 sentry 源码整体架构,打造属于自己的前端异常监控SDK
  2. sql2008能否打开mysql数据库_mysql数据库数据能不能导入到sql server中
  3. 关于验证码的DEMO
  4. RK3288_Android7.1调试RTC总结(一)
  5. 蓝桥杯省赛考点_如何评价2018第九届蓝桥杯省赛?
  6. 玉渊潭赏樱花有感:从无到有写一个jQuery开源插件
  7. Android11 使用NTP同步时间
  8. vmware共享文件夹不显示
  9. 不借助其他任何软件防止QQ被盗的小技巧
  10. Android 中定义图片的资源文件
  11. 天池比赛——用户情感可视化分析
  12. [SV] ignore_bins 用法
  13. 【信号调理】ADC保护电路/ADC缓冲器
  14. 天龙八部搭建mysql教程_天龙八部私服架设mysql数据库安装
  15. 半物理仿真系统——EPB HIL系统解决方案
  16. P1413 坚果保龄球——题解2020.10.10
  17. 图的广度遍历(湖北汽车工业学院数据结构实验)
  18. 【飞桨】图神经网络7日打卡营 学习笔记
  19. 2014 ChinaJoy落下帷幕 十大年度热门事件盘点
  20. 亚马逊买家号怎么注册?

热门文章

  1. 应用签名不一致,该应用可能被篡改的问题
  2. 标量、向量、矩阵求导
  3. 硬件科普系列之显示篇——LCD与OLED知多少
  4. HG30-3a型数字式多功能校准仪
  5. pyinstaller打包exe加入版本和版权信息
  6. 什么是分布式,分布式和集群的区别又是什么?
  7. 大唐杯5G练习题(二)
  8. DDK for windows
  9. THULAC:一个高效的中文词法分析工具包
  10. 海思3559A pwm驱动编写记录