將Hexo一鍵部署到雲服務器


摘要: 在雲主機上搭建一個私有git裸倉庫,然后使用nginx作為web服務器,就可以輕松將Hexo博客通過git一鍵部署到雲主機上。

為什么要把Hexo放到服務器上呢?

  1. 首先,因為Github國內訪問實在是有點慢,也不想用CDN加速。

  2. 碼雲托管指定域名的服務要花錢,不想花錢。

  3. 主要還是自己比較喜歡折騰。

  4. 為什么不用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並配置就可以了。

新建項目

參考鏈接:

到這里就結束了,如果有疑問歡迎留言。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM