1.环境与工具准备

本教程主要面对的是Windows用户

  • 操作系统:Windows10
  • Node
  • Git
  • Hexo
  • 文本编辑器(VSCODE)
  • GitHub 帐号
  • 一个域名(推荐买个域名)(西部数码购买)
  • 云服务器(可选)

2.Node的安装

  1. 打开Node官网,下载和自己系统相配的Node的安装程序,否则会出现安装问题。下载地址:https://nodejs.org/en/download/
    我个人的版本是 16.17.1,目前版本已经更新到20.17.0,按照个人经验,可以选个低一些的版本,可以和我的一样,否则后面会出现各种不兼容的问题!如果大家遇到问题建议选个低版本的!历史版本下载页面:https://nodejs.org/en/download/releases/
  2. 下载后安装,安装的目录可以使用默认目录【C:/Program Files/nodejs/】,也可以自定义路径。
    这个环境路径切换坑也很多,如果大家C盘空间足够可以直接装C盘,如果想切换其他盘或者把环境遍历切换到自定义路径也可以,具体教程百度(不过坑比较多就是了)!
  3. 安装完成后,检查是否安装成功。在键盘按下win + R键,输入CMD,然后回车,打开CMD窗口,执行node -v命令,看到版本信息,则说明安装成功。
  4. 修改npm源。npm下载各种模块,默认是从国处服务器下载,速度较慢,建议配置成淘宝镜像。打开CMD窗口,运行如下命令:
    1
    2
    3
    npm config set registry https://registry.npm.taobao.org
    淘宝镜像源是目前国内使用较为广泛的镜像源之一。根据最新的信息,淘宝镜像的地址已更新为:
    https://registry.npmmirror.com/

3.安装Hexo

  1. Git BASH输入如下命令安装
    1
    npm install -g hexo-cli
  2. 安装完后输入hexo -v验证是否安装成功。

4.Github注册与创建仓库

  1. 进入官网 https://github.com/
    github

  2. 点击右上角的 Sign up(注册)
    注册

  3. 填写自己的邮箱、密码、用户名等信息,然后用邮箱验证即可完成。

  4. 注册完成后,点击右上角的+按钮,选择New repository,创建一个<用户名>.github.io的仓库。

  • 仓库的格式必须为:<用户名>.github.io (注意:前缀必须为用户名,不要等后面404了再来为什么!!!)

  • Description:为描述仓库(选填)

  • 勾选 Initialize this repository with a README 初始化一个 README.md 文件

  • 点击 Creat repository 进行创建
    示意图

  • 该仓库存储的是博客编译后的静态代码,必须是公共仓库别人才能访问到你的博客

5.Git的安装

  1. 进入官网:https://git-scm.com/downloads ,由于官网下载太慢可以通过淘宝的开源镜像下载 网址:https://registry.npmmirror.com/binary.html?path=git-for-windows/v2.36.1.windows.1/ ,下载版本更具自己的需求选择即可。
  2. 下载后傻瓜式安装Git即可,安装的目录可以使用默认目录【C:/Program Files/Git】,也可以自定义路径。
  3. 点击电脑左下角开始即可看见Git Bash
    git
  • Git CMD 是windows 命令行的指令风格
  • Git Bash 是linux系统的指令风格(建议使用)
  • Git GUI 是图形化界面(新手学习不建议使用)
  1. 常用命令
    1
    2
    3
    git config -l  //查看所有配置
    git config --system --list //查看系统配置
    git config --global --list //查看用户(全局)配置
  2. 配置用户名和邮箱
    1
    2
    git config --global user.name "你的用户名"(用户名随意)
    git config --global user.email "你的邮箱"(用注册github的邮箱)
  3. 通过git config -l 检查是否配置成功,至此git安装及配置全部完成。

6.连接至 Github

ssh免密登录的几个步骤

  1. ssh-keygen指令生成公钥(id_rsa.pub)和私钥(id_rsa)
  2. 将公钥上传给server我们需要登录的用户/.ssh/authorized_keys文件中作为一行
  1. 执行以下命令生成ssh公钥,此公钥用于你的计算机连接Github
    1
    ssh-keygen -t rsa -C "你的邮箱"

    ssh-keygen -t rsa -C “你的邮箱” 这个命令的作用是 生成SSH密钥对.
    它会创建一个RSA加密的SSH密钥对,其中包括 一个公钥和一个私钥.
    这个SSH密钥对, 主要用于 在你的本地文件夹(自己电脑上存放代码的文件夹)和远程Git服务器(如GitHub、Gitee等)之间建立安全的连接.
    私钥;会保存在你自己的电脑上,用于证明你的身份.
    公钥;可以安全地分享,通常是上传到Git服务器(我用的是gitee).
    成功连接到Git服务器之后.
    git服务器都会使用你的公钥来验证你的身份,而不需要每次都输入输入用户名和密码.
    注意: 一个电脑默认只能生成一个密钥, 如果重复生成, 第二次的密钥就会覆盖第一次的密钥.

之后打开C盘下用户文件夹下的.ssh的文件夹,会看到 id_rsa.pub
ssh公私钥

用记事本打开上述图片中的公钥(id_rsa.pub),复制里面的内容,然后开始在github中配置ssh密钥。
ssh公钥

  1. 将 SSH KEY 配置到 GitHub
    进入github,点击右上角头像 选择settings,进入设置页后选择 SSH and GPG keys,名字随便起,公钥填到Key那一栏。
    github设置ssh公钥

  2. 测试连接,输入以下命令

    1
    ssh -T git@github.com

    测试链接

出现连接到账户的信息,说明已经大功告成,至此完成了环境准备工作。

7.初始化 Hexo 项目

  1. 在目标路径(我这里选的路径为【C:/Hexo-Blog】)打开cmd命令窗口,执行hexo init初始化项目。
    1
    hexo init blog-demo(项目名)
  2. 进入blog-demo ,输入npm i安装相关依赖。
    1
    2
    cd blog-demo  //进入blog-demo文件夹
    npm i
  3. 初始化项目后,blog-demo有如下结构:
    【node_modules】:依赖包
    【scaffolds】:生成文章的一些模板
    【source】:用来存放你的文章
    【themes】:主题
    【.npmignore】:发布时忽略的文件(可忽略)
    【_config.landscape.yml】:主题的配置文件
    【config.yml】:博客的配置文件
    【package.json】:项目名称、描述、版本、运行和开发等信息
  4. 输入hexo server或者hexo s 启动项目
  5. 打开浏览器,输入地址:http://localhost:4000/ ,看到下面的效果,说明你的博客已经构建成功了。
    成功图

8. 将静态博客挂载到 GitHub Pages

  1. 安装 hexo-deployer-git
    1
    2
    npm install hexo-deployer-git --save
    # 安装部署所需要的依赖
  2. 修改 _config.yml 文件
    在blog-demo目录下的_config.yml,就是整个Hexo框架的配置文件了。可以在里面修改大部分的配置。详细可参考官方的配置描述
    修改最后一行的配置,将repository修改为你自己的github项目地址即可,还有分支要改为main代表主分支(注意缩进)。
    1
    2
    3
    4
    deploy:
    type: git
    repository: git@github.com:Fomalhaut-Blog/Fomalhaut-Blog.github.io.git
    branch: main
  3. 修改好配置后,运行如下命令,将代码部署到 GitHub(Hexo三连)。
    1
    2
    hexo clean && hexo generate && hexo deploy  // Git BASH终端
    hexo clean; hexo generate; hexo deploy // VSCODE终端
  • hexo clean:删除之前生成的文件,若未生成过静态文件,可忽略此命令。
  • hexo generate:生成静态文章,可以用hexo g缩写
  • hexo deploy:部署文章,可以用hexo d缩写
  • hexo c;hexo g;hexo d

    注意:deploy时可能要你输入 username 和 password。

如果出现Deploy done,则说明部署成功了。
成功示意图

稍等两分钟,打开浏览器访问:https://precioushan.github.io ,这时候我们就可以看到博客内容了。

9.无法连接至Github的解决方案

注意:当你在与Github进行ssh通信时候出现超时或者是连接被关闭的情况,可以尝试以下解决方案。

  1. 挂代理和换网络(这个就不用多说了)
  2. Git问题:解决“ssh:connect to host github.com port 22: Connection timed out”
    可以解决SSH连接超时等问题
  3. 开源项目Github520
    通过修改Host文件的方法解决访问速度慢的问题
    连接有效性检验:
    1
    2
    3
    # 任选其一即可
    ping github.com
    ssh -T git@github.com