摘要: 在雲主機上搭建一個私有git裸倉庫,然后使用nginx作為web服務器,就可以輕松將Hexo博客通過git一鍵部署到雲主機上。
為什么要把Hexo放到服務器上呢?
-
首先,因為Github國內訪問實在是有點慢,也不想用CDN加速。
-
碼雲托管指定域名的服務要花錢,不想花錢。
-
主要還是自己比較喜歡折騰。
-
為什么不用Workpress呢?因為選主題實在是太難了,太難選到心儀的主題,樣式自己蓋起來也不那么方便。我的Woekpress博客已經打算放棄他了。
0. 開始
我的雲主機炒作系統是Ctenos7 為了方便安裝了寶塔面板,非常爽!所以我這邊就不用安裝Nginx了,直接使用就好。
1. 安裝Git
安裝git:
yum install git
查看yum源倉庫Git信息:
yum info git
安裝依賴庫:
yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel
yum install gcc-c++ perl-ExtUtils-MakeMaker
檢查git版本:
git --version
配置git:
1 git config --global user.name "Your Name"
2 git config --global user.email "email@example.com"
3 #查看配置是否生效
4 git config --list
2. 配置Git Hooks
創建Git裸倉庫
blog.git作為遠程Git倉庫,Hexo在本地生成的博客靜態文件可以通過push與其同步。
首先cd進某個目錄,這里目錄隨便就好,我這邊是進的寶塔創建的項目目錄
cd /www/wwwroot
mkdir ~/hexo.git && cd ~/hexo.git
git init --bare
配置Hooks腳本
post-receive腳本將在blog.git倉庫接收到push時執行。
vim hexo.git/hooks/post-receive
寫入腳本,腳本非常簡單,刪除原有的/www/wwwroot/hexo-blog目錄,也就是項目部署的根目錄,然后從hexo.git倉庫clone新的博客靜態文件。
#!/bin/bash
rm -rf /www/wwwroot/hexo-blog
git clone /www/wwwroot/hexo.git /www/wwwroot/hexo-blog
給post-receive腳本執行權限,否則腳本不會執行。
chmod +x blog.git/hooks/post-receive
3. 部署Hexo博客
修改Hexo的_config.yml文件
注意:這里IP替換成自己服務器的公網IP
deploy:
type: git
repo: root@115.52.42.55:hexo.git
部署博客
hexo先生成新的博客靜態文件,然后通過git將其同步到雲主機的blog.git倉庫。
注意:這里推送文件到服務器時需要輸入root用戶的密碼
hexo g -d
4. 配置Nginx
我這邊使用的寶塔面板快速創建網站並指定目錄就好了,如果沒有使用寶塔面板需要安裝Nginx並配置就可以了。

參考鏈接:
到這里就結束了,如果有疑問歡迎留言。
