上一篇文章 阿里云虛擬機(jī)下搭建Typecho、WordPress博客 簡(jiǎn)單的記錄了Typecho、WordPress下搭建個(gè)人博客過(guò)程,今天這篇文章記錄下Hexo搭建個(gè)人博客的過(guò)程,對(duì)于此平臺(tái)的介紹分析個(gè)人博客搭建前期工作這篇文章也有說(shuō)道。
配置 Git
- 安裝 Git:下載安裝后,注冊(cè)
GitHub賬號(hào)并配置Git - 創(chuàng)建 GitHub Repository:Repository 名字必須是
你的 GitHub 名.GitHub.io
配置 SSH
打開終端 ,輸入cd ~/.ssh,如果果提示:No such file or directory說(shuō)明未配置 SSH
- 本地生成密鑰對(duì)
ssh-keygen -t rsa -C "你的郵件地址",注意命令中的大小寫不要搞混。按提示指定保存文件夾,不設(shè)置密碼。 - 添加公鑰到 GitHub
- 根據(jù)上一步的提示,找到公鑰文件(默認(rèn)為
id_rsa.pub),用記事本打開,全選并復(fù)制。 - 登錄 GitHub,右上角 頭像 —>
Settings—>SSH keys and GPG keys—>New SSK key。把公鑰粘貼到 Key 中,任意填好 Title 并點(diǎn)擊Add SSH key。 - 終端中輸入命令
ssh -T git@github.com,選yes,等待片刻可看到成功提示。 - 修改本地的
ssh remote url,不用 HTTPS 協(xié)議,改用 Git 協(xié)議 - GitHub 倉(cāng)庫(kù)中獲取 ssh 協(xié)議相應(yīng)的 url
- 本地倉(cāng)庫(kù)執(zhí)行命令
git remote set-url origin "你的倉(cāng)庫(kù)的url",配置完后可用git remote -v查看結(jié)果
配置 hexo
- 安裝 Node.js
- 安裝 Hexo:
npm install hexo-deployer-git --save,可用hexo -v查看版本
可能安裝過(guò)程并不是那么順利,這個(gè)時(shí)候就需要到代理來(lái)安裝: - 清除代理:
npm config delete http-proxy和npm config delete https-proxy - 指向國(guó)內(nèi)鏡像源:
npm config set registry http://registry.cnpmjs.org/ - 創(chuàng)建 Hexo 文件夾:新建放置博客的文件夾,進(jìn)入并執(zhí)行命令
hexo init。hexo 會(huì)在目標(biāo)文件夾建立網(wǎng)站所需要的所有文件 - 安裝依賴包:
npm install - 部署:打開博客根目錄下的
_config.yml文件,修改配置: 官方配置文檔
把Hexo部署到 GitHub
- 生成靜態(tài)頁(yè)面執(zhí)行命令:
hexo generate或hexo g - 啟動(dòng)本地服務(wù)器執(zhí)行命令:
hexo server或hexo s在瀏覽器中打開http://localhost:4000/,如果打開正常執(zhí)行下一步。 - 部署網(wǎng)站執(zhí)行命令:
hexo deploy或hexo d
在瀏覽器中打開iOSWynter.github.io預(yù)覽效果,反正我是打不開。
綁定域名
- 向你的 Github Pages 倉(cāng)庫(kù)添加一個(gè)CNAME文件
- 寫入域名如:
wynter.wang - 注意不要帶
www - 執(zhí)行
hexo d -g - 向DNS中添加三條記錄
@ A 192.30.252.153
@ A 192.30.252.154
www CNAME username.github.io
- 等待 DNS 配置生效(10分鐘左右)
- 通過(guò)在瀏覽器中輸入域名訪問(wèn)網(wǎng)站
配置HTTPS
為了使網(wǎng)站更全最好的方法就是使用HTTPS,使用HTTPS后也會(huì)讓人感覺(jué)網(wǎng)站更專業(yè)點(diǎn),瞬間提升逼格。我們這里選用第三方免費(fèi)的證書來(lái)給自己的網(wǎng)站做HTTPS。推薦使用CloudFlare 和 Netlify 這兩個(gè)平臺(tái)都提供了免費(fèi)SSL證書,兩者使用同樣簡(jiǎn)單,但是 Netlify 創(chuàng)建成功后會(huì)關(guān)聯(lián)到你的github中XXXX.github.io的項(xiàng)目,以后每次 GitHub 的 push 操作都會(huì)自動(dòng)觸發(fā) Netlify 重新編譯部署,而且還會(huì)生成一個(gè)xxx.netlify.com的二級(jí)域名,同樣也支持HTTPS。
CloudFlare 配置:
1、
Add a website填寫域名如:xxx.com,檢測(cè)DNS記錄值
2、根據(jù)提示設(shè)置CloudFlare站點(diǎn)IP解析(等待10分鐘左右)
3、選擇CloudFlare免費(fèi)加速Free Website方案
Netlify 配置:
1、登陸Netlify入
XXXX.github.io項(xiàng)目
2、設(shè)置Name和Domain
3、根據(jù)提示設(shè)置CloudFlare站點(diǎn)IP解析(等待10分鐘左右)
4、在官網(wǎng)菜單中選擇HTTPS點(diǎn)擊Let’s Encrypt開啟HTTPS
解決多說(shuō)功能失效
在配置完HTTPS后發(fā)現(xiàn)多說(shuō)的評(píng)論和分享功能失效,然后使用瀏覽器的審查,發(fā)現(xiàn)是由于多說(shuō)資源網(wǎng)址并不支持HTTPS導(dǎo)致,強(qiáng)制使用https://static.duoshuo.com/embed.js無(wú)法獲取embed.js文件,那么問(wèn)題就找到了,解決辦法如下:
1、在瀏覽器中輸入
http://static.duoshuo.com/embed.js,然后command+s選擇頁(yè)面源碼點(diǎn)擊儲(chǔ)存
2、將儲(chǔ)存的embed.js文件,放到~/hexo/themes/next/source/js/的目錄下
3、打開~/hexo/themes/next/layout/_scripts/third-party/comments/目錄下的duoshuo.swig,將ds.src = (document.location.protocol == 'https:' ? 'https:' : 'http:') + '//static.duoshuo.com/embed.js';替換為ds.src = '/js/embed.js';
附加Hexo常用命令
| 命令 | 介紹 | 簡(jiǎn)寫 |
|---|---|---|
hexo init [folder] |
新建一個(gè)網(wǎng)站。如果沒(méi)有設(shè)置 folder,Hexo 默認(rèn)在目前的文件夾建立網(wǎng)站 |
無(wú) |
hexo new [layout] 'title' |
新建一篇文章。如果沒(méi)有設(shè)置 layout 的話,默認(rèn)使用 _config.yml 中的default_layout 參數(shù)代替。如果標(biāo)題包含空格的話,請(qǐng)使用引號(hào)括起來(lái) |
hexo n 'title' |
hexo new page 'title' |
新建頁(yè)面 | 無(wú) |
hexo generate |
生成靜態(tài)文件 | hexo g |
hexo publish 'title' |
發(fā)表草稿 | hexo p |
hexo server |
啟動(dòng)服務(wù)器。默認(rèn)情況下,訪問(wèn)網(wǎng)址為: http://localhost:4000/ | hexo s |
hexo deploy |
部署網(wǎng)站 | hexo d |
hexo clean |
清除緩存文件 (db.json) 和已生成的靜態(tài)文件 (public) | hexo c |
hexo deploy -generate |
生成靜態(tài)頁(yè)面并部署 | hexo d -g |
總結(jié)
hexo搭建博客并不是這么簡(jiǎn)單,也是美美的折騰了一波搭建成功的,讓我先去哭會(huì)。