github博客
github是程序员最喜欢的交友网站,github博客(github pages)是程序员越来越喜欢的个人主页。
上面这句话不是我说的,然而作为一个程序员,我应该也要站下队。于是我也在捣腾起github,有了这个博客。
怎么创建github pages并使用hexo开始写博之旅?自己网上找手把手教程,很多大牛都会手把手教你。
这里我来说说(记录)怎么给github pages绑定域名。关于绑定域名,网上也有很多相关的文章。
但可能这些都因为内容比较多,让你的脑袋转不过来。那我直接来死板教程,把我这个小白绑定域名的过程写一下。
前提:已经有可以访问的github pages
购买域名
购买域名,其实就是购买域名的配置权。域名服务商,网上比较推荐的是”狗爹”—— godaddy。
就像注册用户名一样,大概想好自己想要的域名,然后搜索看是否已被购买。如下:
搜索到没有被take的域名后,就可以加入购物车了。后面就和普通商品一样下单支付了(现在狗爹支持支付宝付款,非常方便),还不用写收货地址,非常快捷。
现在,我就以我这个域名—— susyx.com 为例说明怎样配置。
修改域名解析服务
默认情况下,域名会由它的服务商提供域名解析服务。例如,狗爹的域名默认是狗爹的域名解析服务来解析。不过可以在狗爹的域名配置后台设置域名的解析服务器。
网上很多文章说狗爹的域名解析有时候会被墙,推荐使用国内的 dnspod 来解析域名。
登陆狗爹,首页点击右上角的的用户头像按钮,可以看到下图中的菜单,选择Manage My Domains
进入“管理我的域名”页面,可以看到购买的所有域名,在你要修改的域名卡片右上角点击齿轮按钮,出现几个设置菜单,选择Manage DNS
:
进入DNS Management
页面,会看到由记录(Records)和域名解析服务(Nameservers)两项配置。在Nameservers配置卡片里,点击Change
,选择Custom
,填入dnspod的两个域名解析服务器地址:
f1g1ns1.dnspod.net
f1g1ns2.dnspod.net
保存即可
设置域名
开始说正题。github pages支持关联域名,而我们也知道,github pages有两种:
repository名和用户名一样,默认这个repository就是一个github pages,可以用
username.github.io
的域名直接访问,这种类型的github pages称为User or organization site
;随便一个repository,进入这个repository的settings,使用github pages的
Automatic page generator
功能用这个repository生成一个github pages,可以用username.github.io/repository_name
来访问。这种类型的github pages称为Project site
;
现在就来进行两种配置方式:
- 上面第一种的github pages映射到主域名:
susyx.com
- 第二种github pages映射到子域名:
yyq.susyx.com
设置主域名
设置主域名相当简单,没玩这个前一度以为很麻烦,只需两步就搞定:
登陆dnspod并进入
控制台->域名解析
,选择需要解析的域名。添加下图的记录:上图所示的记录直接解析主域名
susyx.com
,指向github pages的一个ip——192.30.252.153。github pages有两个ip:192.30.252.153
192.30.252.154在github的帮助页面有关于如何设置自定义域名的文章,里面有提供其服务器ip,未来如果无法访问可以前往查看是否github更换了ip: Setting up an apex domain
在上述第一种类型的github pages项目的根目录新建一个CNAME文件(注意文件名就是CNAME,并且没有扩展名),里面写入要跳转的域名:
susyx.com
如无意外,此时地址栏键入susyx.com
就可以访问对应的github pages了,是不是很简单。
在我这个小白理解,主域名跳转是这样一个流程:访问域名susyx.com
,实际是请求了github pages的主服务器:192.30.252.153
,该服务器再根据我们配置的CNAME文件返回了****.github.io
的内容。
设置子域名
对域名添加一条
CNAME
记录,如下:记录值为:
username.github.io
在上述第二种类型的github pages项目的根目录新建一个CNAME文件,里面写入要跳转的域名:
yyq.susyx.com
如无意外,也是可以使用yyq.susyx.com
代替username.github.io/repository_name
的方式来访问Project site
了