hexo搭建

前言

其实早在去年就起了搭建博客的心,当时用的vultr搭的WordPress,借鉴了各种资料,整出了一个像模像样的博客。奈何原来就是用来准备翻墙搭SSR的机器,$2.5/m,(1 core,512m),实是太卡,最后还原镜像了,老老实实搭了个v2ray翻墙用。

最近又起了整理平时收藏资料的心,后悔原来就没一个系统的整理,既然如此从现在开始吧。生命在于折腾~

准备工具

  • 必要

    • node.js
    • git
  • 非必要

    • vs code

步骤

node.js

安装并配置好node.js环境变量

node.js

若网速慢,可以配置阿里镜像

npm config set registry "https://registry.npm.taobao.org"

查看当前镜像

npm config get registry

或者用cnpm

npm install -g cnpm --registry=https://registry.npm.taobao.org

git

  • 安装git
  • 本地配置用户信息
  • 上传ssh秘钥至github

git

github

github新建仓库

新建仓库,注意几点

  • 命名规则 XXX.github.io XXX替换为个人账户名
  • 仓库为公有库

开启githubpage
可以配置个人域名与https,若https不能勾选,需要等待一段时间,ssl证书还未颁发

githubpage

本地搭建hexo

安装hexo

npm install -g hexo-cli

初始化hexo

hexo init blog

blog为将要安装的文件夹

进到该目录,并安装相关依赖

1
2
cd blog
npm install

大致的目录结构如下

  • node_modules: npm依赖包
  • public: 生成的静态文件,(也就是上传到git上的目录)
  • scaffolds: 文章页面等相关模板
  • source: 资源文件,也就是用来生成静态文件的
  • themes:主题相关
  • _config.yml: hexo配置

生成静态文件

hexo g

启动本地服务

hexo s

此时输入
http://localhost:4000
即可看到一个最初版的hexo博客了

关联githubpage

hexo配置github仓库,_config.yml添加如下代码

1
2
3
4
deploy:
- type: git
repository: git@github.com:553531284/553531284.github.io.git
branch: master

npm添加部署依赖

npm install hexo-deployer-git --save

上传至github

hexo d -g

至此访问github配置的url可以访问到本地博客。

域名以及https配置

github

我所使用的DNS解析是cloudflare。所以大部分配置以cloudflare为主。

域名

  • 添加DNS记录
    • cname记录方式
      • cloudflare新建两条cname记录,一条name为@,一条为www,指向XXX.github.io(XXX为你的账户)
    • a记录方式
      • 打开cmd,ping XXX.github.io(XXX为你的账户),得到解析的ip
      • cloudflare新建两条a记录,一条name为@,一条为www,指向刚刚得到的ip
  • 本地source文件夹下,新建文件CNAME(无任何后缀,完整名字就是CNAME),内容就是你的顶级域名
    cname

开启https

若未开启cloudflare的dns功能,也就是如下图所示。
dns only
直接勾选githubpage上面的https即可。

若勾选了cloudflare的dns功能
先将cloudflare的ssl配置改成如下所示
ssl
说明:flexible代表客户端与cloudflare的cdn节点使用ssl证书(cloudflare自带证书免费,使用个人的还要收费。。),cdn节点与目标ip使用http链接。

再将githubpage上的https去掉即可

同时部署码云page

因为githubpage不能被百度收录。所以打算同时部署至码云page,目前网上看到的都是同步部署到coding。

前提条件:

  • githubpapge搭建使用a记录方式
  • 不开启cloudflare的dns功能

接下来

  • 码云建立工程(步骤同githubpage差不多)
  • 试用 Gitee Pages Pro, 配置个人域名(好吧个人域名还要收费,只能试用一个月)
  • 配置https证书。复制个人私钥公钥上去就行
  • 勾选“强制使用https”
  • 打开cmd,ping gitee.gitee.io,得到解析的ip
  • 类似githubpage添加两条a记录指向ip

修改本地配置文件_config.yml

1
2
3
4
5
6
7
deploy:
- type: git
repository: git@github.com:553531284/553531284.github.io.git
branch: master
- type: git
repository: git@gitee.com:deng_zhou/deng_zhou.git
branch: master

ok,试着试用代理,国内跳转至码云,国外调至git,分流成功。(cloudflare免费只能dns轮询,怎么分流成功的不是很懂。。。就这样吧)

本地配置及使用

我是用的是next主题,所以以下皆以next主题配置为主

next使用与配置