# 前言
线上部署能随时随地查看博客,也方便分享给他人,而不像本地博客只能在一台设备上浏览。可以通过架设服务器或者借助 Github、Gitee 平台等进行线上部署,不过云服务器架设成本较高,利用平台的免费 Pages 服务能有效控制成本。
Github Pages 服务可以免费托管个人网站,并且支持个人域名,很适合初期尝试博客搭建的用户。
# 创建远程仓库
Github 平台可以使用邮箱注册,登录后需要创建用于博客部署的远程仓库。点击右上方的 +
号,点击 New repositiory
进入仓库创建界面。
在仓库创建界面中输入仓库信息:
①仓库名称必须为 “username.github.io”, username
即用户名需与前面的 owner
保持一致;
②仓库权限设置为 Public
,公开级别的仓库才能无验证访问;
③勾选 Add a README file
后,会在创建仓库时新建默认分支 main
,如需修改分支名,可以不勾选,但是后面配置仓库地址时也需要对应调整;
④开源协议根据需求自选,协议可以随时调整。
最后点击 Create repository
创建远程仓库。
# SSH 配置
使用 SSH 方式推送的好处是发布时无需账号密码验证,只需要在第一次推送前生成一下公钥和私钥即可,平台会通过公钥和本机私钥验证识别推送方。
# SSH 密钥生成
打开路径为 C:\Users\用户名\.ssh
的文件夹,如没有可以在对应路径新建一个 .ssh
文件夹。
在 .ssh
目录下单击鼠标右键选择 Git Bash Here
打开控制台,输入以下命令生成密钥,将示例邮箱替换为自己的邮箱即可:
ssh-keygen -t rsa -C "example@163.com" |
密钥名称默认为 id_rsa
,若不配置名称,每次生成的默认密钥会覆盖旧密钥文件,有多个密钥配置的需求建议修改密钥名称。
输入名称后,需要设置密码及确认密码,建议直接回车不设置密码,否则推送时还需要输入密钥的密码。
下面这个画面就表示密钥成功生成了。
# SSH 公钥配置
生成的 SSH 密钥和公钥文件在 C:\Users\用户名\.ssh
目录下,打开格式后缀为 .pub
的公钥文件,复制其中的所有内容。
然后登录到 Github,在首页右上角点击个人头像,再点击 Settings
进入个人设置。
点击左侧菜单中的 SSH and GPG keys
,进入 SSH 公钥配置
点击右侧 New SSH key
添加公钥
公钥的名称自定义,再将复制的公钥内容粘贴到 Key
文本框中,最后点击 Add SSH key
就配置好了平台上的公钥。
# 远程仓库绑定
进入 Github 上的远程仓库界面,点击 Code
,选择 SSH
方式,复制仓库的 SSH地址
。
然后编辑博客文件夹下的 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
,也可以为二级域名等,写入的个人域名不要带有 www
及 http
等字符。
# 域名解析
要让个人域名指向到博客网站,还需要进行域名解析。以阿里云域名配置为例:
进入 域名控制台
,点击左侧菜单中的 域名列表
。
点击 个人域名
。
点击左侧的 域名解析
点击 添加记录
记录类型选择 CNAME
,使用一级域名就配置主机记录为 www
,记录值填入 Github 提供的 username.github.io
域名,最后点击确定添加。
同理,再添加四条记录类型为 “A” 的记录,主机记录选择 @
,记录值分别填写下面四个 IP 地址,用于指向到 Github平台
。
185.199.108.153 | |
185.199.109.153 | |
185.199.110.153 | |
185.199.111.153 |
等待一段时间解析完成后就可以使用个人域名访问博客网站了。