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 服务器的方式来更新我们的博客!

树莓派搭建 Hexo 博客(一)的更多相关文章

  1. 树莓派搭建 Hexo 博客(二)

    Hexo 一个开源的博客框架,本文记录了一下在树莓派上搭建 Hexo 博客的过程. 上一篇介绍了 Hexo 的配置,现在网站已经能在本地访问了,也能通过 hexo generate 命令生成静态界面 ...

  2. 史上最详细“截图”搭建Hexo博客并部署到Github

    http://jingyan.baidu.com/article/d8072ac47aca0fec95cefd2d.html 大家也搭建过博客,很多时候,按着教程来做就可以了,但是我当时为了搭建Hex ...

  3. 史上最详细“截图”搭建Hexo博客——For Windows

    http://angelen.me/2015/01/23/2015-01-23-%E5%8F%B2%E4%B8%8A%E6%9C%80%E8%AF%A6%E7%BB%86%E2%80%9C%E6%88 ...

  4. 阿里云VPS搭建Hexo博客

    最近买了一个阿里云服务器,准备写自己的网站,和将自己的作品放在上面:开始的时候,感觉就一个服务器应该很简单,但是从申请域名到备案,再到服务器搭建,没想到一波三折:闲话不多说,只是记录我在搭建时,最简单 ...

  5. 在vps上搭建hexo博客

    最近更换了服务器,需要把自己的Hexo Next重新部署到新服务器上,本文记录一下在vps上搭建hexo博客的过程. 在vps上搭建hexo博客需要下面这些工具: Nginx: 用于博客展示 SSH: ...

  6. 利用Serverless应用搭建Hexo博客

    本文将介绍如何使用火爆的Serverless应用,15分钟快速搭建Hexo博客.以腾讯云提供的Serverless应用–云开发为例: 步骤1:安装 CloudBase CLI 以及本地部署 Hexo ...

  7. 搭建hexo博客遇到的问题

    搭建hexo博客遇到的问题 常用命令 hexo clean 清除hexo缓存 hexo generate 生成文章 hexo deploy 部署 hexo new post name 新建文章名 he ...

  8. Termux搭建hexo博客并部署到GitHub

    Termux搭建hexo博客并部署到GitHub 安装 termux-change-repo apt update apt install git && nodejs &&am ...

  9. 搭建hexo博客

    hexo 是一款快速.简单.并且强大的博客博客模板框架 - 基于nodejs . 特点 基于nodejs 使用Markdown书写文章 无需数据库 可以使用GitHub Pages发布 要用到的模块 ...

随机推荐

  1. 用HTML写伪类选择器,结构伪类选择器,伪元素选择器样式

    html,css lorem乱序铭文 Lorem ipsum dolor sit amet, consectetur adipisicing elit. Nesciunt, nihil? Lorem ...

  2. some small knowledge

    cookie 增查 <!--1.语义化标签的作用--> <!--1.1 从开发角度考虑是提高代码的可读性可维护性--> <!--1.2 网站的发布者:seo 搜索引擎优化 ...

  3. oracle行长度大小和页行数修改

    行长度展示长度: /*查询长度*/ SQL> show linesize;   /*查询行长度大小*/linesize 100SQL> set linesize200;    /*修改行长 ...

  4. 一个logstash引发的连环案,关于logstash提示:Reached open files limit: 4095, set by the 'max_open_files' option or default, files yet to open: 375248

    不多说,直接上问题.版本logstash-2.4.0,启动后提示错误: !!! Please upgrade your java version, the current version '1.7.0 ...

  5. java HtmlEmail发送邮件工具类

    package com.sh.xrsite.common.utils; import java.io.File; import java.util.HashMap; import java.util. ...

  6. (五)、python 函数

    一.函数 def 函数名(参数): ... 函数体 ... 返回值 函数的定义主要有如下要点: def:表示函数的关键字 函数名:函数的名称,日后根据函数名调用函数 函数体:函数中进行一系列的逻辑计算 ...

  7. CVE-2017-11882复现-office命令执行

    0x01 前言 11月14日,微软按照惯例发布了11月的安全更新,随后不久,安全公司EMBEDI在官方博客上公开了其向微软提交的编号为CVE-2017-11882的Office远程代码执行漏洞: ht ...

  8. 构造HTTP请求Header实现“伪造来源IP”

    在阅读本文前,大家要有一个概念,在实现正常的TCP/IP 双方通信情况下,是无法伪造来源 IP 的,也就是说,在 TCP/IP 协议中,可以伪造数据包来源 IP ,但这会让发送出去的数据包有去无回,无 ...

  9. 日志管理——rsyslog

    官方文档(必看) http://www.rsyslog.com/doc/v8-stable/ 简介 rsyslog是linux自带日志管理工具,分为客户端\服务端,包含日志收集\过滤\分析\转储. 数 ...

  10. IT类职位常用缩写 SA SD RD PG PM DBA MIS QA Sales

    身为IT民工的基本常识,IT类职位常用缩写 SA (System Analyst) 系统分析师 在软体开发团队中,属于中高阶的基层管理者与领导者.除了须具备优秀的文字.语言沟通能力之外,还要有良好的分 ...