本地搭建 hexo

  • 构建hexo需要在本地安装node.js
1
brew install node

当前版本的node版本

1
2
node -v
v7.7.3
  • 全局安装 hexo
1
npm install -g hexo

国外镜像慢的话可以搜索找下淘宝的 cnmp

  • 创建一个目录并且安装 hexo
1
2
3
4
mkdir hexo_blog
cd hexo_blog
hexo init
npm install
  • 新建一个文章
1
hexo new "your-first-page"

文件在 hexo_blog/source/_post/下进行编辑啊

  • 然后就是生成静态文件
1
2
hexo generate
hexo server

这时就可以访问 http://localhost:4000 来查看效果,这个时候hexo已经搭建成功了, 但是我们需要外网能够访问,这就用到了今天的另一个主角:github page

hexo 放到github上

  • 需要一个github账号,具体申请登录看 https://github.com 上的引导就行
  • 创建一个新的 repository 名字格式是固定的,比如我的账户名是 gaopengfei123123 那么这个库的名字就是 gaopengfei123123.github.io 不能改的哦
  • 为了可以直接提交远程文件需要添加 ssh 密匙 本地操作
1
2
3
ssh-keygen -t rsa -C "5173180@qq.com” -f ~/.ssh/github-rsa
cat ~/.ssh/github_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC3K5mcQxH9mu1cUIu2+byK1iksES/7Tnfh23l2U6y1fOKO4XFhPLdAoMQdePnI51PAF4faXxucOYsiDb6IpQimWPwORKTkEkcglOiZ414eZZ829gY98RAldbFQeT2L9A0l2APfcan1fH4HvrCmZKlY8CNDQDDfRzXub9hfSX3LS5mQlgS9PHiFoXRfrS10hYweere9Cb9OFiEdkdCfMKUBr25ImGahqbaHxE8Vb3QzMT8Q5PBITaqFwYnIE/z6HU6Lok92EZ/uVG81SMJb9A5SQCZdsjWmyDqXj1eDZ1A2YyUlA+/6QM7JjCrLoZAAtZHTH+ylNAG79w9WG0eYAuL GaoPengFeiFiy@github.com

把这一段完整的复制到 https://github.com/settings/keys 这个地址下,添加一条新的ssh-key,这样就能免登录提交版本文件

  • 现在编辑本地hexo根目录下的站点配置文件 path/to/hexo_blog/_config.yml 查找字段 deploy 编辑成这样
1
2
3
4
5
6
# Deployment
## Docs: https://hexo.io/docs/deployment.html
deploy:
  type: git
  repo: git@github.com:gaopengfei123123/gaopengfei123123.github.io.git
  branch: master

设置好后,就将本地生成的静态文件发到github上

1
2
3
4
hexo deploy

#如果报错就可能是少个插件
npm install hexo-deployer-git
  • 进入 你的版本库地址/settings 比如我的就是 https://github.com/gaopengfei123123/gaopengfei123123.github.io/settings 找到 github pages 设置块按照你的需求调整,这时访问 https://gaopengfei123123.github.io就能访问 hexo 上传的内容了

绑定一个自己的域名,通过它来访问github pages

我用的是阿里云的万网来举例

  • 首先进入到万网云解析的页面
1
2
3
记录类型:A
主机记录:blog
记录值:xxx.xxx.xxx  #这里需要 ping -c 3 https://gaopengfei123123.github.io 获取ip地址
  • 然后返回到 你的版本库地址/settings 这里,将 Custom domain 设置成你刚才解析的名字, 与此同时在github上版本的根目录下添加一个文件 CNAME 内容是
1
2
#in CNAME
blog.justwe.site

这时再返回settings中就能看的 github pages 部分的域名绑定的是你的域名了,到这里博客算是搭建成功了

hexo官网

hexo的next模版官网