【GitHub建站】绑定域名

1、注册域名:阿里云或其他。

2、在GitHub项目仓库设置里填写已注册好的域名。进入设置页面,下拉至Github Pages设置处,填写自己注册的域名信息,然后保存。


3-1、域名解析方法一 (A值:直接将域名指向某个IP)

(参考:https://blog.51cto.com/13670314/2411406)

电脑运行cmd,输入:

nslookup [用户名].github.io(或ping [用户名].github.io)

获取网页的IP,4个IP中任意选1个。

阿里云中解析域名,添加记录。

记录类型(默认A),主机记录:www,记录值(IP)。



3-2、域名解析方法二 (CNAME别名记录:将域名指向某一个已生效的域名上)

(参考:https://www.jianshu.com/p/f86e22eaa2f1)

1、在GitHub项目仓库中新建文件,文件名【CNAME】,内容为【注册的域名】。

同时在本地source文件夹新建CNAME文件并配置域名,若不进行这一步配置,后续在更新网站时会出现404,详情在文章底部有介绍。

阿里云中解析域名,添加记录。

记录类型(CNAME),主机记录:www,记录值([用户名].github.io)。

解析完成后即可用注册域名访问网站。



【A值记录和CNAME记录的区别】:

A值记录:又叫IP解析,A (Address) 记录是用来指域名对应的IP地址记录。用户可以将该域名下的网站服务器指向到自己的web server上。如果主机IP不常变动就建议使用A记录。

CNAM记录:即别名记录,是用来指域名对应的一个域名的IP记录。用户可以将您的域名指向某一个已生效的域名上,最后解析到这个生效域名所解析的IP,这样主机IP改变了不用重新解析。这种记录允许您将多个别名映射到同一台计算机。



【绑定域名后更新网站发布后404】

1、先检查仓库设置里Repository name是否与仓库一样。[用户名].github.io

2、检查域名是否绑定好。仓库设置GitHub Pages中,Custom domain一栏如果为空,则重新填写需要绑定的域名,保存。(同时经检查发现,项目上根目录下的CNAME文件被删了,暂时先不用管。)

3、如果是上述域名重新绑定问题,则是因为hexo在发布时,会将本地public目录中的文件和目录推送至_config.yml中指定的远端仓库和分支中,并完全覆盖该分支下的已有内容。(也就是说因为public 文件下没有CNAME文件,所以推送的时候远程分支的内容因为被完全覆盖,所以CNAME文件也会被删除,所以就会导致404。)

4、而public下的文件是由source文件夹的内容生成的,因此正确的配置绑定域名方法应该是在source文件下新建CNAME文件(并非txt格式)并配置域名。

参考:

https://blog.csdn.net/Belingda/article/details/100635572

https://www.jianshu.com/p/b6fe1c5c74ed

你可能感兴趣的:(【GitHub建站】绑定域名)