本文将介绍如何利用代码托管网站 GitHub 或 Coding 和静态网络生成工具Hexo搭建自己的博客。算是对个人博客建立过程的回顾

测试环境与工具

  • 需要安装的软件:Scoop(可选,要安装 scoop, 你的 Windows 用户名必须为英文);Git;Nodejs;Hexo;
  • GitHub 账号

Pri_2020-05-26_03-53-00

几家 Git 代码托管:Github,Coding,Gitee 都支持 pages 服务,

  1. GitHub 的整体最好,速度延迟还可以,缺点就是国内有一些不稳定,时常丢包(但是延迟反而很低);
  2. Gitee 延迟、速度很优秀,但是不能自动部署,这就不可理喻了,Push 之后还要上你官网部署吗;
  3. Coding 延迟较高,速度较差,本身服务器也不在中国,所以虽然是国内的平台,但速度比起拥有众多节点的 GitHub,没有较大的优势。可以自动部署,设置界面混乱;时常断线,pages 服务非常不稳定。

GitHub Pages

注册 GitHub

进入 GitHub 官网,注册账号并登录,建立一个【New Repository】,【Repository name】填[你的昵称].github.io。在打开的页面中,会有你项目的地址,格式是【https://github.com/[你的昵称]/[你的昵称].github.io.git】 复制下来备用。

开启GitHub pages

在【Setting】页面下拉到【GitHub Pages】,在【Source】选项中【none】选择【master branch】,接着会出现提示,提示中的就是你的博客地址:格式是【https://[你的昵称].github.io】

设置允许命令行代码上传

GitHub 加入了隐私保护功能,会导致用户不能通过命令行pull,需要关闭2

点击右上角你的头像的下拉菜单,选择【Settings】,在弹出的界面中【Personal settings】选择【Email】,勾掉【Block command line pushes that expose my email】

Attention && Review

  1. 如果你是用GitHhub提供的域名,【Repository name】一定要填 [你的昵称].github.io,不然可能会导致css和js文件没办法加载。
  2. 本步骤结束,我们得到了

安装相关软件

【Win +X】打开 PowerShell:

安装配置软件安装管理工具Scoop:

在PowerShell中输入

  • set-executionpolicy remotesigned -scope currentuser
  • iex (new-object net.webclient).downloadstring('https://get.scoop.sh')

完成后,如果输入scoop help有反馈说明安装成功。

安装Scoop省去了配置上的一些麻烦,不安装的话,下面的软件也有相应的安装包,可以自行搜索。安装时,请勾选【Add to PATH】选项

安装:Nodejs,Hexo

  • scoop install nodejs-lts # 安装 Nodejs,lts 版本相对来说稳定一些
  • npm install -g hexo-cli #安装 Hexo

部署准备

生成 ssh 公钥

如果以前没有接触过 ssh,那么在PowerShell中,输入

1
2
3
4
5
mkdir ~/.ssh
ssh-keygen -t rsa -C "邮件地址@youremail.com"
#生成新的key文件,邮箱地址填你的Github地址
#出现 【Enter file in which to save the key (/Users/your_user_directory/.ssh/id_rsa)】回车就好
#接下来会让你输入密码

接触过的可以用以前生成的。

添加 SSH 到GitHub

以文本方式打开【C: .ssh id_rsa.pub】,复制所有的文本。在GitHub中点击右上角你的头像的下拉菜单,选择【Settings】,在弹出的界面中【Personal settings】选择【SSH and GPG Keys】,点击【New SSH Key】,把文本粘贴进去就行了。

现在,输入ssh -T git@github.com测试下,ok。

本地建站

生成本地文件

安装 Hexo 完成后,执行下列命令,Hexo 将会在指定文件夹中新建所需要的文件。

1
$ hexo init <folder> #例如 D:\blog$ cd <folder>$ npm install

安装插件

1
npm install hexo-deployer-git --save

配置上传

打开目录下的【_config.yml】文件,(建议用Notepad++ 或 Sublime Test),拉到文件的末尾,在【deploy】做如下修改

1
2
3
4
deploy:
type: git
repo: git@github.com:[你的昵称]/[你的昵称].github.io.git #第一步获得的
branch: master

最后

在博客的根目录打开PowerShell输入hexo s #本地测试,你可以打开【http://localhost:4000/】。可以一边修改一边看到效果

看一下效果。运行hexo clean && hexo d -g,上传:打开你的博客,部署完毕。关于主题设置,可以参考主题

域名问题

2020-6-6 更新:购买了域名并绑定;

  1. 域名购买:国内域名,并且服务器在国内的需要备案,因为转移到了 Coding 上,所以如果再选择国内域名可能就会被要求备案;所以最终选择了国外的域名服务;(据说备案过程很麻烦)
  2. 域名购买:Godday 很贵,主要是他的隐私服务单独收费,两年 270 多;我选择了 Name,免费的隐私服务,.com 域名很便宜(但是其他域名都非常贵),移动网络无法连接,可以尝试联通。
  3. DNS 解析:域名提供商会给你一个服务,阿里腾讯的也能免费使用(不管从哪里购买),但是像 Name 这样的服务商 DNS 解析就比较简单,不能分流(比如说境外走这个 IP,国内走这个 IP);
  4. Coding 证书:证书采用的是 Let’s 的服务,如果是国外域名,似乎有些困难,因为验证过不了。可以在 Let‘s 的官网先申请验证,利用 DNS 通过,然后再回到 Coding 的界面申请,或许可以通过。(为什么国外域名不行,我不太明白,Coding 本身的服务器也不是国内的)
  5. 上传 SSL 证书:这个我不太明白怎么回事。网上大都是 VPS 建站的教程。

引用

  1. 我是如何利用Github Pages搭建起我的博客,细数一路的坑
  2. git - Meaning of the GitHub message: push declined
  3. 少数派:「一行代码」搞定软件安装卸载,用 Scoop 管理你的 Windows 软件
  4. 少数派:给 Scoop 加上这些软件仓库,让它变成强大的 Windows 软件管理器
  5. Hexo官方帮助文档:文档
  6. git - Meaning of the GitHub message: push declined