zoukankan      html  css  js  c++  java
  • 树莓派搭建 Hexo 博客(一)

    Hexo 一个开源的博客框架,本文记录了一下在树莓派上搭建 Hexo 博客的过程。

    什么是 Hexo?

    Hexo 是一个快速、简洁且高效的博客框架。Hexo 使用 Markdown(或其他渲染引擎)解析文章,在几秒内,即可利用靓丽的主题生成静态网页。
    在发布时,Hexo 可以部署在自己的 Web 服务器上面,也可以部署 GitHub 上面,在这里,我们要把她部署到我们的树莓派上!
    Hexo官网:https://hexo.io

    一、安装 node.js 的 arm 环境

    Node.js 官网 已经提供了编译好的镜像供各种架构使用,使用 uname -a 查看 pi 的 CPU 信息,如下:

    Linux raspberrypi 4.1.19+ #858 Tue Mar 15 15:52:03 GMT 2016 armv6l GNU/Linux
    

    可以得知我们手中的 pi 是基于 arm6l 架构的,因此在这里对应下载如下包:

    mkdir ~/node_js
    cd node_js
    sudo wget http://nodejs.org/dist/latest-v5.x/node-v5.11.1-linux-armv6l.tar.gz
    sudo tar zxvf node-v5.11.1-linux-armv6l.tar.gz
    sudo mv node-v5.11.1-linux-armv6l/ node
    sudo mv node /usr/local/
    sudo chown -R pi.pi /usr/local/node
    

    安装好后各个文件夹大小如下:

    pi@raspberrypi:/usr/local/node $ du -h --max-depth=1
    18M     ./lib
    22M     ./bin
    2.9M    ./include
    44K     ./share
    43M     .
    

    设置环境变量:

    sudo nano /etc/profile
    

    加入下面一行,Ctrl+O 保存文件 ,Ctrl+X 退出编辑器 :

    PATH=$PATH:/usr/local/node/bin
    

    使用 source /etc/profile 使环境变量生效,随后测试一下:

    pi@raspberrypi:~$ node -v
    v5.11.1
    pi@raspberrypi:~$ npm -v
    3.8.6
    

    二、安装 Hexo

    只需要使用 npm 即可完成 Hexo 的安装(稍作等待)

    # -g 代表全域安装 是全域安裝, 跟你當前所在路徑無關
    npm install -g hexo-cli  
    

    有两个警告暂时无法解决:

    npm WARN optional Skipping failed optional dependency /hexo-cli/chokidar/fsevents:
    npm WARN notsup Not compatible with your operating system or architecture: fsevents@1.0.12
    

    安装好后 /usr/local/node/lib/node_modules 目录下多了一个 hexo-cli 文件夹,随后测试一下:

    pi@raspberrypi:~/blog $ hexo -v
    hexo: 3.2.0
    hexo-cli: 1.0.1
    os: Linux 4.1.19+ linux arm
    http_parser: 2.7.0
    node: 5.11.1
    v8: 4.6.85.31
    uv: 1.8.0
    zlib: 1.2.8
    ares: 1.10.1-DEV
    icu: 56.1
    modules: 47
    openssl: 1.0.2h
    

    三、建站

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

    $ mkdir blog
    $ hexo init <folder>
    $ cd <folder>
    $ npm install
    

    执行 hexo init 后提示,警告暂时没有解决:

    npm WARN optional Skipping failed optional dependency /chokidar/fsevents:
    npm WARN notsup Not compatible with your operating system or architecture: fsevents@1.0.12
    INFO  Start blogging with Hexo!
    

    新建完成后,blog 文件夹的目录如下:

    pi@raspberrypi:~ $ ls ./blog/ -l
    total 36
    -rw-r--r--   1 pi pi  1483 May  8 23:37 _config.yml
    -rw-r--r--   1 pi pi   174 May  9 10:30 db.json
    drwxr-xr-x 286 pi pi 12288 May  8 23:49 node_modules
    -rw-r--r--   1 pi pi   447 May  9 00:07 package.json
    drwxr-xr-x   2 pi pi  4096 May  8 23:37 scaffolds
    drwxr-xr-x   3 pi pi  4096 May  8 23:37 source
    drwxr-xr-x   3 pi pi  4096 May  8 23:37 themes
    

    查看一下文件夹大小:

    pi@raspberrypi:~/blog $ du -h --max-depth=1
    12K     ./source
    1.1M    ./themes
    16K     ./scaffolds
    54M     ./node_modules
    55M     .
    

    各个文件和文件夹作用请查看:https://hexo.io/zh-cn/docs/setup.html

    四、启动服务器,进行测试

    在 blog 目录下,输入:

    hexo server
    

    默认情况下,用浏览器访问网址:http://localhost:4000/
    如果可以看到hexo主页,那么就成功了!

    五、使用 Hexo 直接在树莓派上生成静态页面

    输入下面命令:

    hexo generate
    

    可以在 blog/public 目录下生成静态页面,树莓派下生成还是比较吃力的,仅一篇文章就用了 20+ 秒,后续决定采用:

    • 本地编写 markdown 文件,通过 node.js 和 hexo 生成静态文件,上传到树莓派 nginx 服务器的方式来更新我们的博客!
  • 相关阅读:
    SDUT 2143 图结构练习——最短路径 SPFA模板,方便以后用。。 Anti
    SDUT ACM 1002 Biorhythms 中国剩余定理 Anti
    nyist OJ 119 士兵杀敌(三) RMQ问题 Anti
    SDUT ACM 2157 Greatest Number Anti
    SDUT ACM 2622 最短路径 二维SPFA启蒙题。。 Anti
    二叉索引树 区间信息的维护与查询 Anti
    SDUT ACM 2600 子节点计数 Anti
    UVA 1428 Ping pong 二叉索引树标准用法 Anti
    2010圣诞Google首页效果
    Object
  • 原文地址:https://www.cnblogs.com/imapla/p/5532985.html
Copyright © 2011-2022 走看看