1. 程式人生 > >使用Hexo搭建部落格

使用Hexo搭建部落格

Hexo搭建

    Hexo是一個快速、簡潔且高效的部落格框架。Hexo使用 Markdown(或其他渲染引擎)解析文章,在幾秒內,即可利用靚麗的主題生成靜態網頁。Hexo是一個採用nodejs的靜態部落格,類似的部落格也有很多,比較有名的Jekyll,Octopress等。Hexo官網https://hexo.io/zh-cn/。
    1、按照官網教程首先安裝nodejs,下載地址:

http://nodejs.cn/download/

    2、安裝git,下載地址:

https://git-scm.com/downloads

    3、使用npm安裝hexo

 npm install -g hexo-cli

    4、建立一個資料夾作為部落格的執行目錄,

hexo i myblog //i是init的縮寫 myblog是專案名
cd myblog //切換到站點根目錄
hexo g   //生成靜態檔案,g即generetor
hexo s   //啟動hexo服務,s即server

瀏覽器訪問http://localhots:4000預覽效果

    5、建立第一篇部落格,進入hexo根目錄下輸入 :

hexo new "myFirstPost"

"myFirtPost" 為部落格的名字,會在根路徑/source/_posts下建立myFirstPost.md。在myFirstPost.md檔案裡編輯文章,也可以本地通過markdown線上編輯工具編輯完後同步到伺服器上去替換_posts目錄下的md檔案
執行如下命令來發布:

hexo g //生成靜態頁面
hexo d //釋出

    更新服務:

hexo clean //清除已生成的靜態檔案
hexo g     //重新生成檔案

也可以直接github上建一個git倉庫,本地搞定了推到github,hexo伺服器端pull github上的程式碼就可以了。

    6、選擇部落格主題樣式,可以使用hexo外掛Next來定製自己喜歡的主題,參見Next官網

http://theme-next.iissnan.com/getting-started.html

Hexo程序守護

    ssh登陸伺服器,啟動hexo服務,Ctrl+C或者ssh斷開連線,服務中斷,網站無法訪問。Node程序守護有很多工具,Forever,PM2等,這裡講一下用forever解決Hexo程序守護的問題,首先安裝forever:

npm install forever -g

    在Hexo根路徑下新建一個app.js,寫入下面程式碼:

var spawn = require('child_process').spawn;
free = spawn('hexo', ['server', '-p 4000']);/* 其實就是等於執行hexo server -p 4000*/

free.stdout.on('data', function (data) {
console.log('standard output:\n' + data);
});

free.stderr.on('data', function (data) { 
console.log('standard error output:\n' + data);
});

free.on('exit', function (code, signal) {
console.log('child process eixt ,exit:' + code);
});

    啟動服務
    其實思路也很簡單,大致意思就是node啟動一個子程序,用forever 守護 hexo sever -p 4000這條命令(4000代表埠),關於node的child_process的相關知識,請自行baidu、google,或者去查nodejs的文件。
執行forever命令:

forever --minUptime 10000 --spinSleepTime 26000 start app.js

    停止服務
    這裡值得注意的是你拿forever啟動的服務,通過forever stopall是根本停不掉的,因為其實你執行的是hexo sever,可以通過下面的辦法:

forever stopall  //先停掉守護程序
ps aux|grep hexo
kill -9 pid    //pid是hexo程序id