Better

业精于勤荒于嬉

Github Pages和Hexo博客搭建指南

Better's Avatar 2016-11-20 Blog

  1. 1. 搭建github Pages
    1. 1.1. 创建知识库 repo
    2. 1.2. 设置
    3. 1.3. 预览
    4. 1.4. 添加ssh
      1. 1.4.1. 查看是否有ssh。
      2. 1.4.2. 有就备份删除。
      3. 1.4.3. 创建。
      4. 1.4.4. 在GitHub账户中添加你的公钥
      5. 1.4.5. 测试连接
  2. 2. 使用Hexo
    1. 2.1. 搭建环境
    2. 2.2. 创建hexo文件夹
    3. 2.3. 配置
    4. 2.4. 部署
  3. 3. 绑定域名
    1. 3.1. 指定域名
    2. 3.2. 修改DNS
    3. 3.3. 添加域名解析
  4. 4. 备份
  5. 5. 参考

博客终于搭建好了,前前后后差不多花了两天时间。这里对自己搭建过程中做一下记录。

搭建github Pages

首先你得有个github账号,如果没有注册

创建知识库 repo

知识库

这里要注意,由于每个repo都可以创建对应的Pages文档,但是官方规定[userName].github.io这样的网址只能有一个。所以对于你所创建的repo名称有以下两种:

  1. 非userName.github.io。这时你所创建的网址是userName.github.io/repo/,对于这种方式你可以灵活配置Pages来源于master或gh-pages分支。
  2. userName.github.io。网址是userName.github.io。Pages数据只能是在master上。
    这里搭建个人博客,所以取名是userName.github.io,请注意是repo的命名。

    设置

    点击知识库的设置配置Pages的数据来源即选着分支。选择一些官方的主题。

    预览

    到此你的个人博客就搭建完了地址:userName.github.io。

    添加ssh

    配置Github的SSH密钥可以让本地git项目与远程的github建立联系,让我们在本地写了代码之后直接通过git操作就可以实现本地代码库与Github代码库同步。

    查看是否有ssh。

    cd ~/.ssh

    有就备份删除。

    cp -R ~/.ssh ~/.ssh_bak
    rm -R ~/.ssh

    创建。

    ssh-keygen -t rsa -C "你在Github上的邮箱"
    第一次要输入file名字,直接回车即可,默认文件名为id_前缀,然后会被要求输入个密码并且确认。

    在GitHub账户中添加你的公钥

    more id_rsa.pub
    查看公钥里的内容并且全部复制下来(包括开头ssh-rsa和结尾邮箱)。如果闲麻烦可以。
    clip id_rsa.pub
    进入github的账号设置界面,并选择左侧边栏的ssh选项。


    然后新增ssh将刚刚copy的秘钥填入进去。

    测试连接

    ssh userName@github.com
    成功返回:
    Hi molon! You've successfully authenticated, but GitHub does not provide shell access.Connection to github.com closed.

    使用Hexo

    搭建环境

    安装node.js和git。
    命令行执行:
    1
    npm install -g hexo-cli

    创建hexo文件夹

    在本地磁盘任意位置以此执行命令:
    1
    2
    3
    hexo init <folder>
    cd <folder>
    npm install

    配置

    这里主要注意url和root这两个节点的配置。
    部署节点的配置
    1
    2
    3
    4
    deploy:
    type: git
    repo: https://github.com/471448446/471448446.github.io.git
    branch: master
    branch在master就填master,在gh-pages就写gh-pages。

    部署

    命令
    hexo clean清空缓存
    hexo generate简写 hexo g 即:生成网页文件。
    hexo server简写 hexo s 即:在本地http://localhost:4000/查看效果
    hexo deploy发布到github
    hexo g -d 生成并发布
    如果是用gh-pages的方式deploy的要注意,部署过后,如果设置的theme没有效果则需要将_config.yml的root要改為你repository的名字root: /your_repository/ 参考

    绑定域名

    推存在阿里云上买个域名。

    指定域名

    然后hexo的\hexo\source新增CNAME文件(没有后缀名),打开将你买的域名填入,注意不能有前缀http://
    然后部署,提交。成功后你可以在repo的master根目录下看到新增CHAME文件以及指向的地址。

    修改DNS

    在阿里云的个人中心点击域名
    点击管理


将dns值修改为:
f1g1ns2.dnspod.net f1g1ns1.dnspod.net

添加域名解析

  • 还是在刚刚修改DNS的页面,选择域名解析,把你的Pagers地址加上。
  • 然后在DNSPOD把你刚刚买的域名添加进来。
    然后将你的userName.github.io的IP添加进来(在cmd或者bash窗口ping userName.github.io得到IP),图中红线处。
    你的IP地址,红线处

备份

备份以备不时之需。
使用hexo,如果换了电脑怎么更新博客?
hexo-git-backup

参考

github Pages官网文档
Hexo官方文档
Github Pages和Hexo简明教程
如何在Mac下配置Github和Bitbucket的SSH

This article was last updated on days ago, and the information described in the article may have changed.