Hexo部落格部署 使用github作為儲存中轉倉庫

2022-03-28 13:13:17 字數 2364 閱讀 8886

本篇是在vps上搭建hexo靜態部落格的第一篇博文,寫本篇的目的一是紀念一下,二是作為乙個部署文件保留。

部落格位址

vps環境是在搬瓦工上安裝的centos6(x86),1核,512mb,10gb,1000gb/月的配置($19.99/年,可用支付寶支付),主要的功能是搭個梯子,只做梯子好像有點浪費,於是買了個網域名稱,搭建了這個部落格。

關於hexo本地環境搭建比較簡單,直接參考hexo,這裡只做簡單的記錄:

npm install -g hexo-cli

hexo init hexoblog

cd hexoblog

npm install

# 新增文章

hexo new # 生成靜態檔案

hexo generate

# 簡寫

hexo g

# 啟動服務,檢視博文

hexo server

有關hexo主題,本人比較喜歡next,最近好像有點樣式的調整,不是特別喜歡,所以使用的還是原有的舊版。

github遠端倉庫建立so easy,直接進入github倉庫tab頁面,點選建立即可。為了提交本地hexo相關檔案的方便,我在github上配置了本地環境的ssh公匙資訊,以達到不用輸入使用者名稱密碼即可使用git命令將更改的檔案提交到github相關倉庫上。

首先在本地環境配置生成秘鑰檔案,使用git的命令客戶端

# 檢查本地環境是否已有生成的密匙資訊

cd ~/.ssh

# 如果沒有.ssh目錄檔案,執行下面命令,直接一路回車

ssh-keygen -t rsa

生成如下結構

.

├── id_rsa

├── id_rsa.pub

└── known_hosts

直接拷貝id_rsa.pub裡面的內容,並在github-setting-ssh and gpg keys中建立ssh key,貼上內容到key中,title可不填,儲存後title直接顯示所新增主機的主機名。

鉤子的建立在github上配置非常簡單,進入到倉庫頁面,點選settings-webhooks,直接add webhooks,這裡只選擇監聽push事件,push事件發生後github將傳送請求到vps監聽的url(http://host:監聽埠/webhooks/push/123 ) 上,vps負責相關的更新操作。

與本地安裝一樣,執行

npm install -g hexo-cli
即可(當然首先需要安裝nodejs環境)

最近一直研究nodejs,所以在vps上使用nodejs啟動監聽服務,非常簡單:

}).listen(監聽埠)其中,deploy.sh為更新指令碼,用於更新vps靜態博文,將監聽埠更換成你要監聽埠即可。這裡使用pm2管理監聽服務。

執行

pm2 start hexowebhooks.js
更新指令碼使用shell指令碼,主要步驟是:

在執行shell之前,需要先將github倉庫**pull下來,設定遠端倉庫資訊

git clone 

或者git clone [email protected]:tonny0812/hexoblog.git

cd hexoblog

git remote add hexo "[email protected]:tonny0812/hexoblog.git"

其中,hexo是遠端倉庫位址的別名。

更新指令碼:

// deploy.sh

hexo clean

rm -f ./db.json

git pull hexo master

hexo g

然後訪問部落格**即可,這裡使用nginx反向**,將靜態網頁內容對映到80埠上,由於vps在美國,所以不需要備案即可訪問80埠,國內的vps(如阿里雲)需要備案,查到使用https監聽443埠不需要備案可以使用,還沒有去折騰。

這裡的關鍵是使用了github的webhooks鉤子機制,可以利用github這種免費的git資料倉儲儲存文章資訊,vps直接拉github上的**,然後執行更新指令碼,發布文章,由於使用nginx做**,所以直接執行完更新指令碼之後就可以直接訪問新寫的文章了。

用Hexo在githu搭建個人部落格

npm install g cnpm registry 4.安裝hexo 命令 cnpm install g hexo cli可輸入 hexo v 驗證是否安裝成功 5.建立hexo專案 hexo init 然後就會出現一堆配置檔案 6.hexo 常用4個命令hexo clean 用來清理快取檔案 ...

Hexo部落格部署github使用ssh key

以前每次使用hexo 發布文章然後部署到github的時候總是要使用賬號密碼,今天終於解決了這個問題 github 使用 ssh key 相關頁面 生成ssh key,如果已經有了,跳過這一步 ssh keygen t rsa b 4096 c your email example.com 將ssh...

hexo部落格重新部署

date 2020 08 04 updated 2020 12 31 summary 部落格重新部署到國內gitee 加速訪問速度 部落格遷移到國內 參考 1 hexo部署在碼雲出現樣式問題 最坑的地方,給其他朋友部署的時候,也碰到了這樣的情況 2 hexo配置並部署到碼雲 3 如果git想要繫結s...