使用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