抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

摘要:本文介绍了如何将博客部署到GitHub,并设置域名解析。

环境

Windows 10 企业版 LTSC 21H2
Node 18.14.0
NPM 9.3.1
Git 2.37.3
Hexo 4.3.1

1 创建账户

1.1 登录

注册并登录GitHub。

1.2 生成SSH公钥

打开资源管理器,查看登录用户目录里有没有.ssh目录。

根据目录是否存在:

如果目录存在,说明以前设置过.ssh目录,如果没用了就删掉,如果还有用就需要参考SSH配置多用户,在此先不做介绍了。

如果目录不存在,进入上级目录,右键进入bash命令行,执行命令生成SSH秘钥和公钥:

bash
1
ssh-keygen -t rsa -C 个人邮箱

命令说明:

  • -t:指定密钥类型,默认为rsa表示使用RSA算法,可以省略。
  • -C:设置注释文字,一般会设置为个人邮箱。

执行命令后,会提示置生成的秘钥和公钥名称,默认为id_rsa表示名称,回车使用默认名称。

继续执行,还会提示设置密码和确认密码,回车设置为空。

执行结束会在登录用户目录里生成.ssh目录,打开id_rsa.pub公钥文件并复制内容。

1.3 配置SSH公钥

进入GitHub点击个人头像,选择Settings进入设置页面,在左侧找到SSH and GPG keys设置,在顶部的SSH keys模块中,点击右侧的New SSH key按钮新增配置:
20240225122513-配置公钥

在添加配置的页面中,设置Title的配置名称,然后设置Key中的公钥,粘贴刚刚复制的公钥文件内容,然后点击底部的Add SSH key按钮保存配置。

使用命令测试通过SSH能否连接到GitHub:

bash
1
ssh -T git@github.com

如果提示确认输入,就按照提示输入yes然后回车即可连接成功,下次再测试就没有这个提示了,同时在.ssh目录中会增加known_hosts的配置文件。

2 提交代码

2.1 创建仓库

登录GitHub,创建一个名称为username.github.io的公共仓库,把username改为GitHub的用户名。

这种仓库是GitHub Pages仓库,一个用户只能创建一个这种仓库,创建后允许用户将仓库发布为一个静态网站,网址就是username.github.io仓库名称。

2.2 安装插件

进入博客目录,右键进入bash命令行,安装部署到GitHub上的插件:

bash
1
npm install hexo-deployer-git

修改博客目录下的_config.yml配置文件,修改底部的deploy配置项,如果没有找到则自己添加:

_config.yml
1
2
3
4
5
6
7
8
9
10
11
# Deployment
## Docs: https://hexo.io/docs/one-command-deployment
deploy:
type: git
repo:
github:
url: git@github.com:username/username.github.io.git
branch: main
branch: main
name: username
email: username@163.com

2.3 发布

进入博客目录,右键进入bash命令行。

执行清除和发布命令,重新生成博客静态文件,创建发布目录,推送到仓库:

bash
1
hexo clean && hexo deploy

执行发布命令后会判断是否存在.deploy_git目录:

  • 如果不存在则会创建目录,推送时会强制覆盖远程仓库内容,清空历史提交记录。
  • 如果存在则会更新目录,推送时会更新远程仓库内容,保留历史提交记录。

发布成功以后,可以通过项目名称访问博客:https://username.github.io

3 域名解析

3.1 域名

通过阿里云或者腾讯云,或者其他服务商,都可以购买域名。

3.2 验证

登录GitHub,点击右上角头像,选择Settings进入设置页面,在左侧找到Pages设置,点击Add a domain按钮新增域名。

输入域名后,点击Add domain按钮新增域名,会生成域名验证信息。

进入域名解析页面,新增记录:

  • 主机记录为验证信息中第一条信息,复制域名前面的数据。
  • 记录类型为TXT表示文本记录,用于验证域名所有权。
  • 记录值为验证信息中第二条信息,复制没有域名的数据。
  • 其他信息默认即可。

点击域名验证信息下方的Verify按钮验证域名所有权。

3.3 解析

打开cmd命令行,输入命令查询IP地址:

cmd
1
ping username.github.io

进入域名解析页面,配置域名解析:

  1. 新增记录,主机记录为@,记录类型为A,记录值为上面查到的IP地址,TTL默认为600表示生存时间为600秒,超过之后需要重新获取。
  2. 新增记录,主机记录为www,记录类型为CNAME,记录值为https://username.github.io,TTL默认为600表示生存时间为600秒,超过之后需要重新获取。

在GitHub上配置域名需要配置上述两条记录,否则验证会失败。

3.4 配置

进入仓库页面,点击仓库页面右上角的Settings标签,在左侧菜单栏中找到Pages配置页,找到Custom domain填入域名并保存。

等待域名验证通过后就可以通过域名访问了。

建议开启Enforce HTTPS选项,强制使用HTTPS访问,提高网站安全性。

3.5 固定

进入博客目录下的source目录,新建CNAME文件,注意不要有后缀名,打开后添加域名并保存。

发布博客时,会将CNAME文件复制到public目录进行发布,GitHub会自动识别文件中的域名。

以后如果删除仓库,推送新的仓库时,GitHub会根据文件中的域名自动配置域名解析,无需手动配置仓库中的域名。

固定域名只能节省配置仓库域名的步骤,如果域名不是用户验证域名,还需要配置用户验证域名。

评论