安装hexo

这里用到的系统是centos7,最小化安装

hexo官方文档

https://hexo.io/zh-cn/docs/setup.html

安装依赖

yum install -y git gcc-c++

安装nvm

nvm是用来安装管理npm的工具,这里直接用一键安装脚本 curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.32.0/install.sh | bash

安装node.js

nvm install stable #安装最新稳定版 node 也可以直接输入版本号,nvm是一个非常优秀的版本管理器 由于中国特殊国情,访问国外源非常慢,这里调用淘宝源

NVM_NODEJS_ORG_MIRROR=https://npm.taobao.org/dist nvm install stable

默认安装最新版8.0.0会有问题,还是手动指定稳定版

NVM_NODEJS_ORG_MIRROR=https://npm.taobao.org/dist nvm install 6.11.0

安装hexo系统组件

这里还是调用淘宝源 npm install -g hexo-cli --registry=https://registry.npm.taobao.org

安装博客

cd到安装hexo的目录

cd /data
hexo init blog
cd blog
npm install 
hexo generate
hexo deploy
hexo s

基础命令

至此hexo已经安装好了,是不是很简单,下面介绍基础命令

hexo init [folder]               #新建一个网站
hexo new [layout] <title>         #新建一篇文章
hexo generate               #生成静态文件   
hexo deploy                 #部署网站
hexo server   #启动服务器。默认情况下,访问网址为: http://localhost:4000/

mac安装hexo

mac安装hexo基本相同,重点就是node.jsgit,这两个程序安装成功了,执行npm install -g hexo-cli,理论上已经安装成功了。 hexo命令已经可以正常执行,但是每次执行都会有个报错,DTrace错误,虽然不影响使用,但是很不爽,如下

{ [Error: Cannot find module './build/Release/DTraceProviderBindings'] code: 'MODULE_NOT_FOUND' }
{ [Error: Cannot find module './build/default/DTraceProviderBindings'] code: 'MODULE_NOT_FOUND' }
{ [Error: Cannot find module './build/Debug/DTraceProviderBindings'] code: 'MODULE_NOT_FOUND' }

官网介绍执行npm install hexo --no-optional重新安装就可以了,然并卵。 我的解决方法是:搞定

npm uninstall hexo-cli -g
npm install hexo --no-optional -g
npm uninstall dtrace-provider

调试hexo

启动服务

hexo s
这时本地可以访问了,但是外网无法访问,我们先关闭防火墙

systemctl stop firewalld                    #关闭防火墙
systemctl disable firewalld.service             #禁止firewall开机启动

ok,现在就可以在浏览器中输入http://ip:4000/ 来看效果了

修改主题

原生的主题不太好看,我们换一个,现在比较有名的是next主题

next官方文档,写的很详细,各种插件和优化都有,强烈建议看一下。

http://theme-next.iissnan.com/

cd /data/blog
git clone https://github.com/iissnan/hexo-theme-next themes/next
vim _config.yml     #编辑站点配置文件,theme: next
hexo clean
hexo s      #重启启动服务

修改成功

nginx代理

安装nginx

yum install -y openssl openssl-devel pcre pcre-devel gcc
wget -q http://nginx.org/download/nginx-1.10.1.tar.gz
useradd nginx -s /sbin/nologin -M
tar xf nginx-1.10.1.tar.gz
cd nginx-1.10.1
./configure --user=nginx --group=nginx --prefix=/application/nginx-1.10.1/ --with-http_stub_status_module --with-http_ssl_module
make && make install
ln -s /application/nginx-1.10.1 /application/nginx
/application/nginx/sbin/nginx            启动

修改配置文件

nginx的配置文件在/application/nginx/conf/nginx.conf 将server块改成如下

server {
        listen       80;
        server_name  localhost;
        location / {
            root   /data/blog/public;
            index  index.html index.htm;
        }

重新加载nginx配置文件就可以了 /application/nginx/sbin/nginx -s reload

nginx开机自启

修改系统文件/etc/rc.local,添加一行/application/nginx/sbin/nginx就可以了

一些技巧

禁用评论示例

comments: false

title: 标签
date: 2014-12-22 12:39:04
type: "tags"
comments: false
---

首页显示文字摘要

只需在文章摘要和正文之间添加一行

<!--more-->

添加分类,标签等页面

$ cd your-hexo-site
$ hexo new page categories
$ hexo new page tags

同时修改对应页面的type

title: 分类
date: 2014-12-22 12:39:04
type: "categories"
---

转义符

hexo一般的转义符为\,可以转义大部分符号,但是不能转义|,可以用&#124;来代替|,更多字符请参考html转义字符:https://www.douban.com/note/316826359/