现在越来越多的人悬着使用githubpage搭建自己的个人博客,但是github提供的默认的域名是这种形式:username.github.io
,是个二级域名,这对于很多人来说可能感觉不是很酷。那么我们今天就来做一件比较酷的事情,为站点自定义一个域名。
目录
0、准备工作 1、域名申请 2、为站点添加CNAME 3、在DNSPOD配置域名解析 4、修改DNS 5、验证结果
准备工作
- 一个完整的github page博客项目。
- 名词解释: DNS:网域名称系统。你可以把它想象成一张域名和IP地址映射的数据表。 DNS解析:就是通过我们输入的网址(域名)查找到对应的主机(IP地址) CNAME重定向:username.github.io和username.tk是两个域名,添加CNAME文件选择首选域,使其指向同一主机。 DNS原理>>
申请域名
有很多网站都有域名购买服务,我使用的是Freenom。常见的域名注册网站还有万网、腾讯云、GoDaady(狗爹)。 我选择Freenom的最主要原因就是:免费+顶级域名。对,你没有听错就是免费的顶级域名,一开始就认为注册域名肯定要花费不少moneyd的人是不是感觉赚到了😉。进入该网站注册成功之后,选择Register a New Domain进行域名申请检验。它可以提供免费的顶级域名有:tk,ml,ga,cf,gq
选择你喜欢的域名,进入选购界面
在Period里面可以选择使用时间,最多是一年的免费使用,顶级域名耶,已经很大的优惠了。当然如果你是土豪这都无所谓了。
为站点添加CNAME文件
在Hexo的本地站点里,进入source文件,新建文件CNAME
,注意没有后缀,打开文件填入刚申请的域名
zhangferry.tk
保存。然后发布站点,这时CNAME
文件就被发布到了github上对应的站点仓库中
CNAME文件的作用:
CNAME是一个别名记录,它允许你将多个名字映射到同一台计算机。比如刚才添加的CNAME文件,会被github自动识别,当我们输入zhangferry.github.io
和输入zhangferry.tk
时,它将指向同一个ip地址,展示同样的内容。
在DNSPOD中配置域名解析
注册DNSPOS账号,进入管理控制台
点击添加域名,输入我们刚刚申请的域名。确定之后就是进行添加记录
添加记录的每一项,系统都会提示代表意思,这里主要解释记录类型
- A记录:地址记录,用来指定域名的IP地址
- CNAME记录:如果需要将域名指向另一个域名,再由另一个域名提供IP地址,就需要添加CNAME记录
- NS记录:域名服务器记录,如果需要把子域名交给其他DNS服务商解析,就需要添加NS记录
上面的NS记录是系统默认添加的。
A记录就是指向对应IP地址,这里的192.30.252.153
和192.30.252.154
是github的服务器IP地址。
CNAME记录这里可填可不填,因为A记录已经将zhangferry.tk和zhangferry.github.io
的域名统一为一个IP地址了。有一种情况就是为了提高访问速度,要区分国内国外不同用户使用不同的网站进行重定向需要添加对应的CNAME记录。
修改域名DNS
再回到刚才的域名申请网站,点Services->My Domains->Manage Domain->Management Tools->Nameservers
将f1g1ns1.dnspod.net
和f1g1ns2.dnspod.net
填入到Nameserver1和Nameserver中,点击Change Nameservers保存操作。注意到刚填的域名服务就是对应NS记录的记录值。完成之后稍等片刻,DNSPod会有如下提示,否则就按照提示进行检验哪一步出了问题。
验证结果
之后需要等待全球递归DNS服务器刷新(最多72小时)
在命令行执行:$ dig zhangferry.tk
,出现以下结果说明配置成功,主要IP地址的对应。