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

摘要:本文主要介绍如何将博客部署到GitHub。

环境

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

1 配置GitHub

1.1 登录

注册并登录GitHub。

1.2 生成SSH公钥

打开资源管理器,在地址栏输入C:\Users\登录用户\.ssh并回车进入,查看登录用户目录里有没有.ssh目录:
001-SSH目录

根据目录是否存在:

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

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

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

命令说明:

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

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

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

命令最终执行如下:
002-SSH生成

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

1.3 配置SSH公钥

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

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

使用ssh -T git@github.com命令测试通过SSH能否连接到GitHub:
004-SSH测试

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

2 部署GitHub

2.1 创建仓库

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

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

2.2 安装插件

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

bash
1
npm install hexo-deployer-git --save

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

_config.yml
1
2
3
4
5
6
7
8
# 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

2.3 发布

进入博客目录,右键进入bash命令行,执行命令清理博客、生成博客、发布博客:

bash
1
2
3
hexo clean
hexo generate
hexo deploy

发布后如果提示未知身份:
005-未知身份

说明需要设置用户名和邮箱,有两种方式:

  • 方式一:全局设置,按照提示设置全局用户名和邮箱:
    bash
    1
    2
    git config --global user.name username
    git config --global user.email username@163.com
  • 方式二:本地设置,进入博客目录下的.deploy_git发布目录,右键进入bash命令行,设置发布目录的用户名和邮箱:
    bash
    1
    2
    git config --local user.name username
    git config --local user.email username@163.com

然后重新发布,通过GitHub访问博客:https://username.github.io

3 域名解析

3.1 域名

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

3.2 解析

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

cmd
1
ping username.github.io

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

  1. 新增记录,主机记录为@,记录类型为A,记录值为上面查到的IP地址,TTL使用默认的600即可。
  2. 新增记录,主机记录为www,记录类型为CNAME,记录值为GitHub访问博客的地址,TTL使用默认的600即可。

3.3 配置

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

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

将博客重新发布后就可以通过域名访问了。

评论