# 前言

线上部署能随时随地查看博客,也方便分享给他人,而不像本地博客只能在一台设备上浏览。可以通过架设服务器或者借助 Github、Gitee 平台等进行线上部署,不过云服务器架设成本较高,利用平台的免费 Pages 服务能有效控制成本。

Github Pages 服务可以免费托管个人网站,并且支持个人域名,很适合初期尝试博客搭建的用户。

# 创建远程仓库

Github 平台可以使用邮箱注册,登录后需要创建用于博客部署的远程仓库。点击右上方的 + 号,点击 New repositiory 进入仓库创建界面。

NewRepo

在仓库创建界面中输入仓库信息:

①仓库名称必须为 “username.github.io”, username 即用户名需与前面的 owner 保持一致;

②仓库权限设置为 Public ,公开级别的仓库才能无验证访问;

③勾选 Add a README file 后,会在创建仓库时新建默认分支 main ,如需修改分支名,可以不勾选,但是后面配置仓库地址时也需要对应调整;

④开源协议根据需求自选,协议可以随时调整。

最后点击 Create repository 创建远程仓库。

RepoInfo

# SSH 配置

使用 SSH 方式推送的好处是发布时无需账号密码验证,只需要在第一次推送前生成一下公钥和私钥即可,平台会通过公钥和本机私钥验证识别推送方。

# SSH 密钥生成

打开路径为 C:\Users\用户名\.ssh 的文件夹,如没有可以在对应路径新建一个 .ssh 文件夹。

.ssh 目录下单击鼠标右键选择 Git Bash Here 打开控制台,输入以下命令生成密钥,将示例邮箱替换为自己的邮箱即可:

ssh-keygen -t rsa -C "example@163.com"

SSH-RsaEmail

密钥名称默认为 id_rsa ,若不配置名称,每次生成的默认密钥会覆盖旧密钥文件,有多个密钥配置的需求建议修改密钥名称。

SSH-RsaName

输入名称后,需要设置密码及确认密码,建议直接回车不设置密码,否则推送时还需要输入密钥的密码。

SSH-RsaPassword

下面这个画面就表示密钥成功生成了。

SSH-RsaKey

# SSH 公钥配置

生成的 SSH 密钥和公钥文件在 C:\Users\用户名\.ssh 目录下,打开格式后缀为 .pub 的公钥文件,复制其中的所有内容。

然后登录到 Github,在首页右上角点击个人头像,再点击 Settings 进入个人设置。

SSH-Settings

点击左侧菜单中的 SSH and GPG keys ,进入 SSH 公钥配置

SSH-SetKeys

点击右侧 New SSH key 添加公钥

SSH-NewSSH

公钥的名称自定义,再将复制的公钥内容粘贴到 Key 文本框中,最后点击 Add SSH key 就配置好了平台上的公钥。

SSH-Keys

# 远程仓库绑定

进入 Github 上的远程仓库界面,点击 Code ,选择 SSH 方式,复制仓库的 SSH地址

RepoSSH

然后编辑博客文件夹下的 config.yml 全局配置文件,找到 deploy 配置项,按照以下格式配置,再将复制的 SSH 仓库地址替换 github 项后面的内容,即可绑定自己的远程仓库,注意最后的分支名称 main ,要与远程仓库分支对应。

deploy:
  type: 'git'
  repo:
    github: git@github.com:username/username.github.io.git,main

# 安装 hexo-deployer-git 插件

Hexo 框架还需要安装 deployer 插件才能使用发布命令。

在博客文件夹下打开 Git Bash Here 命令控制台,输入以下命令安装 hexo-deployer-git 插件。

npm install hexo-deployer-git --save

重新解析一下本地博客再发布到远程仓库,输入以下命令重新解析并发布。

hexo clean && hexo generate && hexo deploy

在浏览器中输入 username.github.io 即可查看博客部署的线上效果,如很长时间未加载出页面,可以在仓库的 Actions 工作页面中查看是否部署成功。

# 个人域名

配置个人域名后,可以替代 Github 提供的 username.github.io 域名访问博客。

个人域名需要在阿里云、华为云等域名服务商处自行购买,可以购买首年及续费比较便宜的域名控制后期维护的成本。

# CNAME

有了域名之后,在博客的 source 文件夹下新建一个无格式后缀的 CNAME 文件,编辑文件并且仅写入想要使用的个人域名,如一级域名 yunian.top ,也可以为二级域名等,写入的个人域名不要带有 wwwhttp 等字符。

# 域名解析

要让个人域名指向到博客网站,还需要进行域名解析。以阿里云域名配置为例:

进入 域名控制台 ,点击左侧菜单中的 域名列表

Domain-Dashboard

点击 个人域名

Domain-List

点击左侧的 域名解析

Domain-Resolution

点击 添加记录

Domain-Record

记录类型选择 CNAME ,使用一级域名就配置主机记录为 www ,记录值填入 Github 提供的 username.github.io 域名,最后点击确定添加。

Domain-ResolutionInfo

同理,再添加四条记录类型为 “A” 的记录,主机记录选择 @ ,记录值分别填写下面四个 IP 地址,用于指向到 Github平台

185.199.108.153
185.199.109.153
185.199.110.153
185.199.111.153

Domain-ResolutionType

等待一段时间解析完成后就可以使用个人域名访问博客网站了。

更新于 阅读次数