第一步 本地安裝hexo並初始化專案
安裝hexo非常簡單,但是安裝之前需要確保已經安裝了git和node.js
1.安裝git
1.Windows使用者可以直接下載安裝檔案安裝
2.Mac使用者可以下載安裝檔案,或者使用homebrew安裝
brew install git
3.Linux使用者使用命令(Ubuntu, Debian)
sudo apt-get install git-core
或命令(Fedora, Red Hat, CentOS)
sudo yum install git-core
2.安裝node
安裝node使用nvm
wget -qO- https://raw.github.com/creationix/nvm/master/install.sh | sh
安裝之後需要重啟終端
然後安裝node
nvm install stable
不過由於某種眾所周知的原因,安裝過程可能非常緩慢,可以考慮科學上網,另外也可以下載安裝檔案進行安裝,或原始碼檔案進行編譯安裝,node中文網 這裡下載似乎比較快。
另外,Windows使用者直接下載安裝檔案安裝最快捷,安裝時記得勾選Add to Path
3.安裝hexo並初始化專案
先檢查一下git和node是否安裝好了
git --version
node --version
如果正常顯示git和node的版本則可以繼續下面的操作了,否則請先進行第一步的操作
好的,繼續
npm install -g hexo-cli
安裝成功後切換到你想要建立部落格的目錄,然後執行
hexo init <folder>
cd <folder>
npm install
其中folder為部落格目錄名稱,換成你想要的名稱即可
至此,第一步已經完成。
第二步 配置伺服器
1.配置Nginx
ssh連線你的伺服器,參考這裡
筆者使用的是騰訊雲的cvm,這裡便以此為例(這裡使用root使用者),參考只看第一點即可
安裝Nginx
yum install -y nginx
啟動Nginx服務
service nginx start
測試Nginx伺服器
wget http://127.0.0.1
能正常獲取inde.html檔案說明Nginx安裝成功
2.建立git倉庫
安裝git,參考第一步
新建git使用者
adduser git
建立裸倉,參考
cd /home/git
git init --bare hexo.git
chown -R git:git hexo.git
將本地機器上的ssh公鑰填入/home/git/.ssh/authorized_keys檔案(若還未建立公鑰,參考這裡)
在本機
cat ~/.ssh/id_rsa.pub
複製公鑰
在伺服器
nano /home/git/.ssh/authorized_keys
貼上公鑰,Ctrl+x儲存,輸入y,然後回車即可
配置Nginx
查詢Nginx配置檔案
nginx -t
筆者的配置檔案位於/etc/nginx/nginx.conf,參照這裡在server一項中新增
listen 80;
root /home/git;
server_name localhost;
location / {
index index.html index.htm;
}
注意,筆者是將git使用者目錄作為Nginx伺服器根目錄,這裡隨讀者喜好,但是要注意檔案許可權問題。
儲存後重啟Nginx伺服器
service nginx restart
第三步實現自動部署
在第二步建立的裸倉中(即hexo.git資料夾中),找到hooks目錄下的post-update.sample,重新命名為post-update
填入如下程式碼 參考這裡
#!/bin/sh
git --work-tree=/home/git --git-dir=/home/git/hexo.git checkout -f
修改許可權使其可執行
chmod +x post-update
接下來,在第一步中建立的hexo專案目錄,編輯_config.yml,修改deploy項,類似如下
deploy:
type: git
repo: git@server:/home/git/hexo.git
branch: master
將server改為你的伺服器地址
在hexo專案目錄中安裝hexo-deployer-git
npm install hexo-deployer-git --save
好了,現在執行
hexo new <title>
title換成文章標題
然後執行
hexo g -d
g和d是generate和deploy的簡寫
另外你可以直接編輯或新建hexo專案目錄下./source/_posts目錄裡的md檔案(至於Markdown語法,看看這裡吧)
這時訪問你的伺服器試試吧!!!
【完】
原載於數星|部落格