現(xiàn)在越來越多的人懸著使用githubpage搭建自己的個人博客,但是github提供的默認的域名是這種形式:username.github.io,是個二級域名,這對于很多人來說可能感覺不是很酷。那么我們今天就來做一件比較酷的事情,為站點自定義一個域名。
目錄
0、準備工作
1、域名申請
2、為站點添加CNAME
3、在DNSPOD配置域名解析
4、修改DNS
5、驗證結(jié)果
準備工作
- 一個完整的github page博客項目。
- 名詞解釋:
DNS:網(wǎng)域名稱系統(tǒng)。你可以把它想象成一張域名和IP地址映射的數(shù)據(jù)表。
DNS解析:就是通過我們輸入的網(wǎng)址(域名)查找到對應(yīng)的主機(IP地址)
CNAME重定向:username.github.io和username.tk是兩個域名,添加CNAME文件選擇首選域,使其指向同一主機。
DNS原理>>
申請域名
有很多網(wǎng)站都有域名購買服務(wù),我使用的是Freenom。常見的域名注冊網(wǎng)站還有萬網(wǎng)、騰訊云、GoDaady(狗爹)。
我選擇Freenom的最主要原因就是:免費+頂級域名。對,你沒有聽錯就是免費的頂級域名,一開始就認為注冊域名肯定要花費不少moneyd的人是不是感覺賺到了??。進入該網(wǎng)站注冊成功之后,選擇Register a New Domain進行域名申請檢驗。它可以提供免費的頂級域名有:tk,ml,ga,cf,gq

選擇你喜歡的域名,進入選購界面

在Period里面可以選擇使用時間,最多是一年的免費使用,頂級域名耶,已經(jīng)很大的優(yōu)惠了。當(dāng)然如果你是土豪這都無所謂了。
為站點添加CNAME文件
在Hexo的本地站點里,進入source文件,新建文件CNAME,注意沒有后綴,打開文件填入剛申請的域名
zhangferry.tk
保存。然后發(fā)布站點,這時CNAME文件就被發(fā)布到了github上對應(yīng)的站點倉庫中

CNAME文件的作用:
CNAME是一個別名記錄,它允許你將多個名字映射到同一臺計算機。比如剛才添加的CNAME文件,會被github自動識別,當(dāng)我們輸入zhangferry.github.io和輸入zhangferry.tk時,它將指向同一個ip地址,展示同樣的內(nèi)容。
在DNSPOD中配置域名解析
注冊DNSPOS賬號,進入管理控制臺

點擊添加域名,輸入我們剛剛申請的域名。確定之后就是進行添加記錄

添加記錄的每一項,系統(tǒng)都會提示代表意思,這里主要解釋記錄類型
- A記錄:地址記錄,用來指定域名的IP地址
- CNAME記錄:如果需要將域名指向另一個域名,再由另一個域名提供IP地址,就需要添加CNAME記錄
- NS記錄:域名服務(wù)器記錄,如果需要把子域名交給其他DNS服務(wù)商解析,就需要添加NS記錄
上面的NS記錄是系統(tǒng)默認添加的。
A記錄就是指向?qū)?yīng)IP地址,這里的192.30.252.153和192.30.252.154是github的服務(wù)器IP地址。
CNAME記錄這里可填可不填,因為A記錄已經(jīng)將zhangferry.tk和zhangferry.github.io的域名統(tǒng)一為一個IP地址了。有一種情況就是為了提高訪問速度,要區(qū)分國內(nèi)國外不同用戶使用不同的網(wǎng)站進行重定向需要添加對應(yīng)的CNAME記錄。
修改域名DNS
再回到剛才的域名申請網(wǎng)站,點Services->My Domains->Manage Domain->Management Tools->Nameservers

將f1g1ns1.dnspod.net和f1g1ns2.dnspod.net填入到Nameserver1和Nameserver中,點擊Change Nameservers保存操作。注意到剛填的域名服務(wù)就是對應(yīng)NS記錄的記錄值。完成之后稍等片刻,DNSPod會有如下提示,否則就按照提示進行檢驗?zāi)囊徊匠隽藛栴}。

驗證結(jié)果
之后需要等待全球遞歸DNS服務(wù)器刷新(最多72小時)
在命令行執(zhí)行:$ dig zhangferry.tk,出現(xiàn)以下結(jié)果說明配置成功,主要IP地址的對應(yīng)。
