一:github上new repo
項目名稱必須是“username.github.io”
二:clone到本地
可以在本地根目錄下建一個index.html , push到遠程,測試一下
訪問你的username.github.io,是否為index.html 的內(nèi)容
三:綁定來自阿里云的域名
注:參考quantumman.me
在阿里云上注冊了一個新域名:xuqun.space,
我已經(jīng)在GitHub Pages上建立了自己的博客:ly0518.github.io。
現(xiàn)在我希望將xuqun.space映射到ly0518.github.io
1:創(chuàng)建CNAME文件夾
在你的個人博客倉庫的根目錄中新建文件CNAME(注意沒有后綴),在該文件增加一行文字,告訴Github Pages服務(wù)器你想指定的域名。該域名不能包含前綴信息,即不能添加http:\\前綴。
!重要補充!CNAME文件名一定要大寫,否則Github Pages服務(wù)器無法識別和解析。我就出現(xiàn)了這樣的問題。我的CNAME綁定域名是正確的,通過ping xuqun.space和ping ly0518.github.io兩條指令,我發(fā)現(xiàn)了他們都指向同一個IP地址(即我的博客IP地址),可是我在使用瀏覽器訪問的時候,會出現(xiàn)Site not Found提示,這個時候我就只能合理的懷疑Github Pages服務(wù)器根本就沒有把xuqun.space和ly0518.github.io綁定起來,即我的CNAME文件設(shè)置錯誤。Google之后發(fā)現(xiàn)CNAME文件名的大小寫會產(chǎn)生影響(My custom domain isn't working),萬惡的Windows系統(tǒng)不區(qū)分文件名大小寫,所以即使你在本地更改了CNAME大小寫然后push到github,還是沒有用。。。我就只好到github上去修改成大寫了。。。坑。。。
每個CNAME文件能且只能指定一個域名。更多關(guān)于增加CNAME文件的信息可見Adding a CNAME file to your repository。
第一步的目的是,Github讀取你的CNAME之后,Github服務(wù)器會設(shè)置xuqun.space為你的主域名,然后將ly0518.github.io重定向到xuqun.space
2.CNAME綁定域名
登錄阿里云單域名控制臺,在域名解析中添加如圖所示的解析
在域名解析中,A記錄就是直接指定一個IP,CNAME就是重命名,指向另一個域名。
(1)在阿里云控制臺,設(shè)置主機記錄www,記錄類型為A,記錄值是IP192.30.252.153。其中192.30.252.153是Github Pages服務(wù)器指定的IP地址,訪問該IP地址即表示訪問Github Pages。
(2)在阿里云控制臺,設(shè)置主機記錄www,記錄類型為A,記錄值是IP192.30.252.154。同上。
(3)在阿里云控制臺,設(shè)置主機記錄@,記錄類型為CNAME,記錄值是kun-wang.github.io.。表示將http://xuqun.space這個主域名映射ly0518.github.io。在這里千萬不要忘記記錄值中.io后面還有一個點.!
但是很多時候,我們只想將子域名綁定到博客地址。比如如果你想將blog.maindomain.com(即博客子域名地址,主域名地址是www.maindomain.com)映射到ly0518.github.io,那么在主機記錄中就應(yīng)該填寫blog,記錄類型為CNAME,記錄值是ly0518.github.io。因為你的主域名已經(jīng)默認(rèn)為maindomain.com,所以主域名和主機記錄合起來就是blog.maindomain.com。而且這個時候,你github項目的CNAME文件內(nèi)容也應(yīng)該相應(yīng)的改為blog.maindomain.com,因為你是想將ly0518.github.io和blog.maindomain.com綁定起來,而不是和www.maindomain.com綁定。
如果你想將www.maindomain.com(即主域名地址)映射到ly0518.github.io,那么主機記錄就是www,記錄類型是A,記錄值是具體的IP地址(在我們這個例子中是192.30.252.153、192.30.252.154)。因為你的主域名已經(jīng)默認(rèn)為maindomain.com,所以主域名和主機記錄合起來就是www.maindomain.com。
你可以將多個域名都映射到xxxxx.github.io之類的你自己的站點上,但是需要新建不同內(nèi)容的CNAME文件。
注意,.me已經(jīng)是頂級域名(和.com、.org等域名是同一級的),所以需要使用A記錄進行域名解析。
第二步的目的是,告訴所有DNS服務(wù)器,對于xuqun.space的訪問都會被重定向到ly0518.github.io