Hexo博客(01)GitHub Pages创建博客并绑定域名
什么是 Github Pages?
Github Pages 是 Github 的静态页面托管服务。它设计的初衷是为了用户能够直接通过 Github 仓库来托管用户个人、组织或是项目的专属页面。
Github Pages 的限制:
- 仓库存储的所有文件不能超过1GB;
- 页面的带宽限制是低于每月100GB或是每月100,000次请求;
- 每小时最多只能部署10个静态网站;
1 建立username.github.io项目
GitHub Pages分两种,一种是username.github.io这样的用户或组织站(user or organization site),目的是用户或组织的介绍;另一种是依附于项目的站(Project site),目的是该项目的介绍页。
用户或组织站一个用户名下只能建立一个,新建一个名称为username.github.io的repository,注意username必须和账号的用户名完全相同。建立好后在master
下提交一个index.html,即可使用域名username.github.io访问。
项目站目的是为了用户介绍自己的某个项目,在每个项目中都会有一个gh-pages
分支,在gh-pages
分支中提交页面,即可使用username.github.io/projectname域名访问。
个人博客用哪种pages都行,最后用独立域名指向它,没什么区别。我们这里使用的是username.github.io用户名站。
2 配置CNAME文件
如果不想使用username.github.io作为博客域名,可以给博客绑定一个独立域名,需要在项目根目录下配置一个CNAME
文件。在username.github.io项目的根目录下新建一个名为CNAME
的文件,注意文件名必须大写,文件内容形如:masikkk.com
,注意只要裸域名,不需要https://
。并且,CNAME
文件中只能有一个域名,不能同时绑定多个域名。
CNAME文件
3 配置DNS解析到github服务器
可以选择A记录或CNAME记录,A记录指向具体IP,CNAME记录指向另一个域名,使用CNAME解析可享受Github pages的CDN加速。
你先想一个问题:那么多人都要在github上搞博客,还要自定义域名。github哪来这么多ip给你们用?所以办法就是仅仅提供一个ip,这样必然导致这个服务器上发着所有人的博客文件,那么如何区分特定的域名应该展示谁的博客呢?答案就是在仓库里面新建一个CNAME文件,里面写上你博客想用的域名,github的服务器会根据当前http请求的Host头部(即域名),查找对应的包含相同的CNAME内容的目录,从而显示其中的页面。这就是为什么要在仓库里面创建一个CNAME原因。
不过,事情还没完,一个ip的问题是世界各地不同地点的访问速度不同,有些地方可能很慢,所以需要一组ip来分担一下。最早github好像只有2个ip,后来ip变多了。再后来,github支持域名解析的时候,通过alias来。比如在域名商那边设置成www.tengj.com —> tengj.github.io,由于github无法控制你如何配置域名和ip的关系,但他可以控制tengj.github.io的最终ip解析,所以github推荐大家使用alias解析,可以为博主提供就近ip访问。这就是你在域名商那边配置CNAME或者alias的原理。这里的CNAME跟上面提到的CNAME作用不同,不是一个概念,不要混淆。
- 配置A记录
在自己域名提供商的DNS解析中增加一条A记录配置,地址为192.30.252.153
或192.30.252.154
,由于pages使用了CDN,我们可以用dig username.github.io
命令来查看自己账号的具体IP并配置。github pages IP可能改变,在https://help.github.com/articles/troubleshooting-custom-domains/ 中查看变化。 - 配置CNAME记录
添加CNAME记录,指向username.github.io,能够享受GitHub pages的CDN加速。
我的域名解析配置
4 创建index.html进行测试
创建一个简单的index.html文件,上传到username.github.io项目master目录,访问自己的域名即可看到。
参考
GitHub Pages Basics
https://help.github.com/categories/github-pages-basics/Customizing GitHub Pages
https://help.github.com/categories/customizing-github-pages/Using a custom domain with GitHub Pages
https://help.github.com/articles/using-a-custom-domain-with-github-pages/Troubleshooting custom domains
https://help.github.com/articles/troubleshooting-custom-domains/使用Github Pages建独立博客(JekyII)
http://beiyuu.com/github-pages/
上一篇 Hexo博客(02)安装Hexo生成博客并部署到GitHub
下一篇 Linux-系统目录
页面信息
location:
protocol
: host
: hostname
: origin
: pathname
: href
: document:
referrer
: navigator:
platform
: userAgent
: