为博客添加独立域名
关于如何给部署在 GitHub Pages 上的博客添加独立域名,上网有很多教程。但是他们要么方法已经过时了,要么就没有说清楚原理,弄得我走了很多弯路。
今天我就来写一篇面向小白的教程,尽我所能讲清楚怎么做?为什么?
选购域名🔗
可能很多人已经买好了域名了,你可以[跳过这部分](#GitHub 上的设置)
要想给博客绑定独立域名,首先你得拥有一个域名。首先你得去域名注册网站购买域名,如果想在国内的域名商手里购买的话我比较推荐万网,国外的话比较推荐 GoDaddy,因为他们分别是中国最大和世界最大的域名注册服务商。千万不要为了贪便宜,去那些不正规的小域名商那里注册,水很深的。
我的与域名是在 GoDaddy 买的,因为国内买不到 .me
的域名,而我又恰恰有点喜欢这个域名 (简短好记,还是一个英文单词,最关键的是这个单词还特别适合博客!!)。价格的话只要不是 .com
这样“高级货”,一般的域名都是 120 左右一年,平均下来每个月 10 块钱左右 (就当充个会员了),另外第一年一般都有很高的折扣,比如我这个 .me
的域名第一年就只要了我 24 (不过 WHOIS 目录中的个人信息加密需要另外收费)
具体选购过程大致就是:搜索域名 -> 将喜欢的域名加入购物车 -> 付款 -> 购买成功,跟去某宝买东西差不多,这里就不再赘述了。
GitHub 上的设置🔗
购买好域名后,首先到 GitHub 上,你部署博客的那个 Git 仓库的设置里,在 Custom domain
这里填上你购买的域名
或者在创建一个名为 CNAME
的文件放在根目录,其中的内容只写上你的域名,像这样
example.com
如果使用了 Travis CI 这类持续集成服务来部署博客的话推荐使用第二种方式进行设置。
如果 Custom domain
下方有 Enforce HTTPS
这个选项的话一并勾选上
GitHub 跟 Let’s Encrypt 有合作,如果勾选了这个选项,Let’s Encrypt 就会给你的博客签发一张 SSL 证书,免费的。
DNS 上的设置🔗
终于到了最关键的一步了。
现在要做的是让域名指向正确的 IP 地址,GitHub 为此提供了四条 IP,使用 A 记录 指向这四条 IP 地址就可以了
这四条 IP 分别是 (来自GitHub 的官方文档):
185.199.108.153 185.199.109.153 185.199.110.153 185.199.111.153
你需要到你购买域名的域名商的域名管理页面进行设置,虽然不同的域名商域名管理页面不同,不过原理都是相同的。
这里以 GoDaddy 为例,进入域名管理器 (Domain Manager) -> DNS 管理 (Manage DNS)
在记录 (Record) 项目中点击 添加 (ADD)
类型 (Type):A
主机 (Host):@
指向 (Points to):185.199.108.153
TTL:保持默认@ 表示顶级域名,也就是你注册的域名本身
以相同的方式配置剩下的三条 IP 地址
类型 (Type):A
主机 (Host):@
指向 (Points to):185.199.109.153
TTL:保持默认
类型 (Type):A
主机 (Host):@
指向 (Points to):185.199.110.153
TTL:保持默认
类型 (Type):A
主机 (Host):@
指向 (Points to):185.199.111.153
TTL:保持默认
等几分钟 (刷新 DNS 缓存),然后在浏览器中输入你的域名,回车;不出意外的话你应该可以看到你的博客了。
设置二级域名🔗
除了通过顶级域名进行访问外你还可以设置二级域名,例如 www.mogeko.me
和 blog.mogeko.me
仍然在记录 (Record) 中添加 (ADD)
不过这次添加的类型 (Type) 不是 A 记录而是 CNAME
类型 (Type):CNAME
主机 (Host):www
指向 (Points to):@
TTL:保持默认
类型 (Type):CNAME
主机 (Host):blog
指向 (Points to):@
TTL:保持默认
此时,你不仅可以通过 example.com
访问你的博客,还可以通过 www.example.com
或 blog.example.com
访问到你的博客。
其他玩法🔗
除了将域名绑定给博客外博客,还可以用域名干一些别的事。
比如,使用 A 记录将 mail.mogeko.me
这个二级域名指向 207.46.149.80
就可以“搭建”一个 临时邮箱服务
(感谢 萌咖 | MoeClub.org 提供的服务器)
如果你还有一台拥有公网 IP 的服务器,可玩性就更高了!
如果有能力,你甚至可以拥有自己的搜索引擎