老早就想搭建乙個屬於自己的個人部落格了,之前也弄過乙個,後台到前端完全原生自主編寫,可是終究還是太年輕,很多東西都不會,也不懂得堅持,慢慢就荒廢了。加上幾次的伺服器變更,再加上工作沒精力打理,之前的個人部落格已經完全荒廢了。經過2023年一年時間的沉澱,決定再次搭建乙個屬於自己的部落格了,之前一直在 潛水,平時也沒怎麼輸出,記錄幾個隨筆。2023年,決定好好地寫一下部落格。計畫每週寫一篇吧,以週為單位,不斷吸取新的東西,整理輸出。
本篇主要記錄如何將 hexo 部落格部署到服務端,因此 git 和 node 的安裝和配置需要自行準備。
$ npm install -g hexo-cli
$ hexo init $ cd $ npm install
hexo 安裝和配置好主題之後便是日常的寫作發布了,可是要怎麼才能比較優雅地寫作及發布呢?參考了網上的做法以及考慮到後期自己需要 diy 的需求,決定在本地環境生成部落格靜態檔案,然後通過 git 推送到伺服器 git 倉庫,再設定 git-hooks 來進行自動部署。具體思路如圖:
由於自個的 linux 和 git 都不是很好,因此在這一塊耗了很長時間(在此立個flag,要認真研究一下!)。好啦,下面將會是一堆命令操作,用慣 windows 可能會不大適應_不要緊,按順序一步一步來。
mkdir -p /var/www/blog // 建立存放部落格靜態檔案的目錄
useradd git // linux增加乙個 git 使用者
passwd git // 設定 git 使用者的密碼
su git // 切換到 git 使用者
cd /home/git/ // 如果沒有 /home/git 目錄則自行建立
mkdir repos && cd repos
git init --bare blog.git // 建立乙個 git 裸庫
cd blog.git/hooks
vi post-receive // 建立hook鉤子函式,並輸入以下內容
post-receive:
#!/bin/sh
git --work-tree=/var/www/blog --git-dir=/home/git/repos/blog.git checkout -f
儲存完畢後繼續以下命令
chmod +x post-receive // 賦予執行許可權
exit // 退出 git 使用者
chown -r git /home/git/repos/blog.git // 將 blog.git 資料夾及資料夾下所有檔案所有者設定為 git 使用者
chown -r git ~/.ssh // 原理同上句,如果沒有 .ssh 資料夾請自行建立
上面就是服務端所要的配置,在執行命令的時候可能會報錯,可以參考文末「參考」部分解決。
開啟 "git bash" 命令列工具,執行以下命令
ssh-copy-id -i c:/users/yourname/.ssh/id_rsa.pub git@server_ip // 將公鑰複製到伺服器上
ssh git@server_ip //測試是否無需密碼登入
如果沒有報錯就可以開啟 hexo 部落格專案,否則按照報錯提示去找解決方法。
在部落格跟目錄開啟 _config.yml 主配置檔案找到 deploy 屬性進行以下配置:
deploy:
type: git
repo: git@server_ip:/home/git/repos/blog.git
branch: master
然後在部落格根目錄執行以下命令
hexo g // 生成靜態頁面檔案
hexo d // 部署到伺服器
至此個人部落格已經上傳到ecs雲伺服器上了,至於要怎麼給外界訪問,就要使用 nginx、apache 等 web 伺服器軟體咯。具體配置自行搜尋咯。 hexo搭建個人部落格 使用Hexo搭建個人部落格
node.js 附帶npm git npm install hexo cli g g選項表示全域性安裝 global 即安裝到你的電腦中而非專案目錄中,建議新增,這樣在命令列就可以直接使用hexo命令。hexo init 目錄名稱 cd 目錄名稱 npm i 官方文件已經完整說明了每個配置項的作用,...
Hexo 搭建github個人部落格
主要有一下幾個指令 hexo new n 寫文章 hexo generate g 把文章生成頁面 hexo server s 啟動本地服務除錯 hexo deploy d 部署到github 可與hexo g合併為 hexo d g 如果喜歡以官方教程為主的,點這裡 hexo官方文件 因此以下教程是...
使用hexo搭建個人部落格
安裝前先介紹幾個hexo常用的命令,後面為注釋 1 2 3 hexo g 完整命令為hexo generate,用於生成靜態檔案 hexo s 完整命令為hexo server,用於啟動伺服器,主要用來本地預覽 hexo d 完整命令為hexo deploy,用於將本地檔案發布到github上 np...