搭建自己的Hexo博客

前言

早就想换一换我之前使用的wordpress博客了,昨天偶然看到一个朋友的博客感觉前端简洁大气,于是查了一下他所用的Hexo这个博客框架。从doc来看使用简单,md的编辑方式很高效,浏览了一下主题也有几个不错的,于是趁着考试周之前的日子赶紧把博客搭建起来了。

搭建的环境是Mac+Ubuntu14.04

本地安装搭建博客

本地安装hexo框架

  1. 先使用homebrew安装npm:

    brew install npm
    
  2. 使用npm安装Hexo

    npm install hexo-cli -g
    
  3. 安装Hexo-server

    由于在hexo3中server被分离了出去所以要想在本地不通过apache等查看blog的话需要单独安装

    npm install hexo-server --save
    

搭建博客

  1. 新建Hexo博客

    mkdir myBlog
    cd myBlog
    hexo init
    npm install
    
  2. 打开server:

    hexo server
    //结果如下:
    INFO  Start processing
    INFO  Hexo is running at http://localhost:4000/. Press Ctrl+C to stop
    
  3. 生成静态文件:

    hexo g
    

    如果此时显示hexo的帮助文档说明server没有成功安装。

    可以通过浏览器访问http://localhost:4000/查看博客。如果显示Cannot Get / 检查是否有npm install

  4. 更换主题

    我使用的主题为aircloud。从github上下载源码放入theme文件。将hexo的_config.yml中的theme部分改为

    theme: aircloud
    

    再次generate之后查看浏览器,如果显示找不到index.html,一般是由于theme的名称没有写对。theme后面要写在theme文件夹下所选主题的文件名。

    在public文件夹下新建img文件夹,放入头像avatar.jpg和favicon.ico的icon图片,否则主题会显示找不到。

    如果使用此主题还有一些要修改的地方,直接参见其readme.md即可。

  5. 删除多余的tags

    hexo clean
    hexo d -g
    

通过git部署至远程服务器

配置git

  1. 首先确认自己是否拥有ssh密钥

    cd ~/.ssh
    ls
    

    我们需要寻找一对以 id_dsaid_rsa 命名的文件,其中一个带有 .pub 扩展名。 .pub 文件是你的公钥,另一个则是私钥。 如果找不到这样的文件(或者根本没有 .ssh 目录),你可以通过运行 ssh-keygen 程序来创建它们。在 Linux/Mac 系统中,ssh-keygen 随 SSH 软件包提供;在 Windows 上,该程序包含于 MSysGit 软件包中。 ——git官网

  2. 将公钥放入服务器

    将公钥复制加入系统用户的 .ssh 目录下 authorized_keys 文件的末尾。如果没有此文件的话自己新建一下。

  3. 配置服务器

    新建一个用于存放博客代码的文件夹。然后初始化git,新建master分支

    git init
    git checkout -b master
    

    注意不要新建bare仓库,不然会没有blog文件,只有git版本控制文件。

    为了避免出现git拒绝push的情况,修改.git/config文件后面添加如下代码

    [receive]
    denyCurrentBranch = ignore
    
  4. 修改本地hexo的config文件

    加入deploy部分:

    deploy:
    type: git
    repo: gituser@yourIpOrUrl:~/myBlog/
    branch: master
    
  5. 部署blog至服务器

    hexo d
    
  6. git hook
    远程git仓库在deploy之后并不会立刻更新,只有执行git reset --hard之后才可以,为了避免每次都手动执行这条语句,可以将它添加到myBlog/.git/hooks/post-update文件中。将原本的post-update.sample的.sample去掉即可使hook生效。
    如果deploy之后出现remote: fatal: Not a git repository: '.'
    就进一步修改post-update为:

    #!/bin/sh
    #
    # An example hook script to prepare a packed repository for use over
    # dumb transports.
    #
    # To enable this hook, rename this file to "post-update".
    cd /root/myBlog
    unset GIT_DIR
    git reset --hard
    

配置apache2

  1. 安装apache2

    由于我的服务器上之前就已经安装好apache2,且过程很简单,这里就不写这部分的教程了,可以参看其他blog。

  2. 修改apache2配置

    Apache2的config文件在/etc/apache2/apache2.conf,修改如下内容

    添加文件访问权限

    <Directory /your/blog/directory>
            Options Indexes FollowSymLinks
            AllowOverride All
            Require all granted
    </Directory>
    

    修改Document/Root修改为你的git仓库的路径。

    如果服务器上配置了多个网站,可以通过添加virtualHost来配置路径。在此不详细说了。

  3. 更改文件权限

    将git仓库的文件权限改为755,其上层文件也应改为755

    chmod -R 775 /filename
    
  4. 查看网页

    在浏览器输入服务器的ip或者url。如果出现没有权限访问,要检查自己的文件权限和config文件是否修改正确。注意不要将directory /的deny from all 改为require all granted,非常不安全。

这篇小教程到这里就结束了,希望你可以搭建顺利

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值