域名设置:给自己的网站一个独一无二的商标
在不久前的一篇文章中(其实有半年多了),我分享了一下关于如何建立一个简单的个人静态网站并且通过Github Pages部署到公网上。Github的部分特殊仓库名有特殊使用方法,例如将仓库名设置为和用户名相同,可以得到一个可以在个人资料通过该仓库定义的模块,将仓库名设置为“用户名.github.io”,可以得到一个静态的个人主页仓库,也就是在之前的教程中将网页部署到的仓库,之后可以通过“用户名.github.io”访问公开发布的网页。
当然这也有一些问题。
首先,这个网址本质上是一个二级域名,域名本质上对应的可以说是一个“品牌”,例如谈到jd.com就知道是京东官网,但是jd.github.io,那么访问的人会更难记住京东,如果网站有对外商业化品牌化的打算,最好选择一个独属于自己的顶级域名。
(这里的二级域名也可以说是三级域名,因为从实际上来说,io才是顶级域名,github是二级域名,用户名这一层是三级域名,但是在一部分讨论下,“.io”、“.com”这一部分不参与域名层级的讨论,因为这不是普通人注册的范畴,所以一般说的顶级域名其实是第二层级。)可以让不同位置的人尝试访问一下你的个人网站,有些人就会发现一个问题,慢。这里就涉及到一个DNS解析的问题,Github Pages的域名服务器在国内的可访问性并不好,所以我们需要配置一个自己的解析服务,加速访问。
域名服务商的选择 链接到标题
首先是为域名选一个域名服务商,这里慎选国内域名,由于众所周知的审查方面的法规限制,国内域名解析服务对指向的服务器有严格的要求,一般来说,建议大陆地区以外的服务器选择海外服务商,大陆以内地区服务器选择国内服务商(需要走备案审核),并不建议海内外混用。
我个人使用过两家服务,我的博客目前使用的是Cloudflare的服务:
| 服务商 | 访问速度 | 价格 | 支付方式 | 体验 |
|---|---|---|---|---|
| Cloudflare | 快 | 中等 | visa等海外支付方式,不支持支付宝 | 好,如果你有面向海外的想法,那我个人建议备一张visa卡,这样在使用海外服务时会方便不少,Cloudflare作为互联网底层逻辑之一,服务相当值得信赖,.com域名一年百来块吧 |
| NameSilo | 快 | 中等 | 支持支付宝(可能有微信) | 用起来效果还算差不多,一个很大的优势是支持国内支付方式,或许你会看到一些宣传说什么续费不涨价啊之类的,建议不要信,有涨价现象,还是比较过分的那种,如果没有海外信用卡,然后又有人发优惠码,价格合适的话,可以买一年看看,因为域名是可以转移服务商的。 |
域名选择 链接到标题
域名选择主要考虑好记、唯一性,在域名领域,会有一些更进阶的玩法,例如提前抢注域名什么的,还有人向我推销过和当前域名差不多的抢注后的域名,做这一行多少需要点商业嗅觉,有兴趣可以自行了解,那不是本文讨论的范畴了。
好记和唯一性这两点很好理解,好比baidu,一说就知道那家公司,域名某种意义上来说就是一个“商标”,因此不宜太长,而且要有代表性,最好是全网唯一的商标,不然就像给自家孩子起名叫子涵一样,不具备任何代表性。
最后一点要注意的是,在选域名的时候会看到很多后缀,例如.com .net .io .ai .xyz等等等等,只需要记住一个准则,域名只有.com和非.com,没有其他选择,如果希望这个域名成为自己的一个标志,那么就注册.com,随便玩玩怎么都可以,但假如某一天这个域名有了流量和名气,那就是给别人徒做嫁衣。
分享一个我自己的例子,我一开始图便宜注册的.net域名,在做了流量和收录几个月后,我又注册了同名的.com域名,一周左右,.com域名的爬取量是前者的两倍,内容迁移后,爬取量是前者巅峰的5-6倍,从曝光率来说,域名只有.com和非.com。
DNS解析 链接到标题
明白了以上内容后,该怎么把域名关联到网站呢,这里就需要配置一个DNS服务。
- 首先进入Github设置界面在左侧找到Pages(或者访问该页面,但说真的,你应该学会自己找到页面)
- 添加刚刚注册好的域名,然后可以看到一个验证步骤
!!!该步骤会验证域名所有权,请勿传播!!!
- 打开域名服务商页面,找到DNS记录,添加对应txt记录,这样Github访问对应地址时会收到返回验证码,证明你是域名所有人。
- 在域名DNS记录中加入一条CNAME记录,从目标@指向github.io,或者参考Githu文档添加A记录。

- 在Github网站仓库的设置页面中,在左侧找到pages,配置自定义域名保存。
- 在网站源代码设置中设置baseURL为域名,推送
等待一段时间后应该就可以通过域名访问自己的网站了,至此一个简单的域名配置就完成了。
扩展阅读 链接到标题
如何理解域名解析服务,我为什么要为此付费 链接到标题
从计算机网络的底层逻辑来说,TCP/IP协议是核心基石,协议规定,一切设备的位置都是一串数字。
那么问题就来了,我怎么知道我要访问的网站是什么,一串数字没有任何标志性。那就是域名解析服务了,也就是DNS,把人类语言意义上的字符解析到计算机意义上的地址。
而域名解析,是一个商业行为,有很多家域名服务商,当然并不是说某一个后缀的域名就归属某家服务商的,没有,域名是可以被转移到不同服务商被出售的。
不同DNS条目有什么不同 链接到标题
一般来说,CNAME指的是其他域名,例如之前解析的,如果直接解析为数字IP,添加A记录,如果解析为IPV6地址,添加AAAA记录。

为什么我添加@名称显示已存在记录 链接到标题
既然是地址,那么就要理解一个问题,一个地址是不能被解析到两处的,这个很容易理解,你家的门牌号不能同时指向上海和北京两处房产,因此CNAME一个名称对应一个指向。直接指向IP地址可以添加多个。
那我看别人CNAME能添加好多记录啊 链接到标题
这里以Cloudflare设置界面为例,根名称是@,意思是这个域名的直接指向,但是我们也可以通过名称设置次级域名,例如添加名称为www的记录,解析向其他地址,就可以实现子域名的划分,可以使用www.域名.后缀访问其他仓库,从而实现一个域名的多网站解析。可以使用blog.域名解析到博客,images.域名解析到图片仓库等等。