GitHub Pages 绑定来自阿里云的域名

简介

域名解析

腾讯云的域名解析设置

这里写图片描述

阿里云的域名解析设置

这里写图片描述

记录类型

A记录: 将域名指向一个IPv4地址(例如:8.8.8.8CNAME:将域名指向另一个域名(例如www.qcloud.comMX: 将域名指向邮件服务器地址
TXT: 可任意填写,长度限制255,通常做SPF记录(反垃圾邮件)
NS: 域名服务器记录,将子域名指定其他DNS服务器解析
AAAA:将域名指向一个iPv6地址(例如:ff06:0:0:0:0:0:0:c3SRV:记录提供特定服务的服务器(例如_xmpp-server._tcp

主机记录

要解析www.qcloud.com,请填写www。
主机记录就是域名前缀,常见用法有:

www: 解析后的域名为www.qcloud.com。
@: 直接解析主域名 qcloud.com。
*: 泛解析,匹配其他所有域名 *.qcloud.com。
mail: 将域名解析为mail.qcloud.com,通常用于解析邮箱服务器。
二级域名: 如:abc.qcloud.com,填写abc。
手机网站: 如:m.qcloud.com,填写m

我在阿里云上买了一个新域名:liuzhiwei.top,我已经在GitHub Pages上建立了自己的博客:http://liufengyuqing.github.io。现在我希望将liuzhiwei.top映射到http://liufengyuqing.github.io
主要参考资料:

  1. Setting up a custom domain with GitHub Pages
  2. 创建GitHub技术博客全攻略 - 第九部分:CNAME绑定域名
  3. Hexo在github上构建免费的Web应用 - 第4.3节:设置域名

第一步:创建CNAME文件

在GitHub博客仓库的根目录中新建文件CNAME(注意没有后缀),在该文件增加一行文字,告诉Github Pages服务器你想指定的域名。该域名不能包含前缀信息,即不能添加http://前缀。
这里写图片描述

CNAME文件名一定要大写,否则Github Pages服务器无法识别和解析。

我就出现了这样的问题。我的CNAME绑定域名是正确的,通过ping yuanzb.com和ping yuanzb.github.io两条指令,我发现了他们都指向同一个IP地址(即我的博客IP地址),可是我在使用浏览器访问的时候,会出现Site not Found提示,这个时候我就只能合理的怀疑Github Pages服务器根本就没有把yuanzb和yuanzb.github.io绑定起来,即我的CNAME文件设置错误。Google之后发现CNAME文件名的大小写会产生影响(My custom domain isn’t working),万恶的Windows系统不区分文件名大小写,所以即使你在本地更改了CNAME大小写然后push到github,还是没有用。。。我就只好到github上去修改成大写了。。。坑。。。
每个CNAME文件能且只能指定一个域名。更多关于增加CNAME文件的信息可见Adding a CNAME file to your repository。

第一步的目的是,Github读取你的CNAME之后,Github服务器会设置yuanzb.me为你的主域名,然后将yuanzb.github.io重定向到yuanzb.com。


第二步:CNAME绑定域名
登录阿里云单域名控制台,在域名解析中添加如图所示的解析
这里写图片描述

默认使用阿里云提供的万网DNS服务器。当然你也可以使用DNSPOD提供的DNS服务器,这样可以使你的域名在国外更快速的传播。当你使用DNSPOD提供的DNS服务器时,除了DNS服务器不一样以外,其他的设置(比如A记录和CNAME记录)均相同。以下我们简要分析我们所添加的A记录和CNAME记录的含义。

在域名解析中,A记录就是直接指定一个IP,CNAME就是重命名,指向另一个域名。

  1. 在阿里云控制台,设置主机记录www,记录类型为A,记录值是IP192.30.252.153。其中192.30.252.153是Github Pages服务器指定的IP地址,访问该IP地址即表示访问Github Pages。

  2. 在阿里云控制台,设置主机记录@,记录类型为CNAME,记录值是liufengyuqing.github.io. 。表示将http://liuzhiwei.top这个主域名映射liufengyuqing.github.io。在这里千万不要忘记记录值中.io后面还有一个点 .!

  3. 但是很多时候,我们只想将子域名绑定到博客地址。比如如果你想将blog.yuanzb.com(即博客子域名地址,主域名地址是www.yuanzb.com)映射到yuanzb.github.io,那么在主机记录中就应该填写blog,记录类型为CNAME,记录值是yuanzb.github.io。因为你的主域名已经默认为yuanzb.com,所以主域名和主机记录合起来就是blog.yuanzb.com。而且这个时候,你github项目的CNAME文件内容也应该相应的改为blog.yuanzb.com,因为你是想将yuanzb.github.io和blog.yuanzb.com绑定起来,而不是和www.yuanzb.com绑定。

  4. 如果你想将www.yuanzb.com(即主域名地址)映射到yuanzb.github.io,那么主机记录就是www,记录类型是A,记录值是具体的IP地址(在我们这个例子中是192.30.252.153、192.30.252.154)。因为你的主域名已经默认为yuanzb.com,所以主域名和主机记录合起来就是www.yuanzb.com。

补充:你可以将多个域名都映射到xxxxx.github.io之类的你自己的站点上,但是需要新建不同内容的CNAME文件。
注意,.me已经是顶级域名(和.com、.org等域名是同一级的),所以需要使用A记录进行域名解析。

第二步的目的是,告诉所有DNS服务器,对于yuanzb.me的访问都会被重定向到yuanzb.github.io。


第三步:漫长的等待
要全球解析生效,得等上一会了,也可以先ping一下自己的设置对不对。阿里云域名服务的工作原理是,在你更新了域名解析之后,首先是阿里的万网云解析,然后传播到各大运营商的DNS服务器,刷新DNS缓存,至此你的域名可以被访问。就是要生效,要有耐心

  • 7
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
GitHub Actions是一项强大的自动化工作流工具,可以与各种平台集成,包括阿里云。通过GitHub Actions,我们可以在代码提交或其他事件触发时,自动部署我们的应用程序到阿里云。 首先,我们需要在GitHub仓库中创建一个新的工作流文件(workflow file)。这个文件定义了部署到阿里云的步骤和操作。我们可以使用YAML格式编写这个文件,并将其放置在仓库的.github/workflows目录下。 在工作流文件中,我们可以定义多个job(作业),每个job执行一个或多个步骤。我们可以指定触发条件,例如当代码推送到特定分支时触发部署。 为了部署到阿里云,我们需要提供阿里云的访问凭据和其他必要的配置信息。我们可以使用GitHub仓库的Secrets功能来安全地存储这些凭据。在工作流文件中,我们可以通过workflow的env属性获取这些凭据,并将其传递给部署步骤。 在部署步骤中,我们可以使用阿里云提供的CLI命令或API来执行具体的部署操作。例如,我们可以通过CLI命令将我们的应用程序打包并上传到阿里云的存储服务,然后通过API请求将应用程序部署到阿里云服务器。 完成工作流的编写和配置后,我们可以将其保存并提交到GitHub仓库。在每次满足触发条件的事件发生时,GitHub Actions将自动运行我们的工作流,并执行部署到阿里云的步骤。 通过GitHub Actions部署到阿里云,我们可以实现自动化的持续集成和部署,大大简化了我们的工作流程,提高了开发和部署的效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值