
整個Hexo搭建過程雖然看是步驟比較多,但是自己裝一遍后,就發現其實要做的事情就那么幾樣,安裝Node.JS、Git、Hexo,然后需要配置下GitHub,訪問國外的GitHub如果速度比較慢的話,也可以用國內的Coding net(我用的就是這個,其實也就是找個能免費放靜態網站的地方,不用自己再去買個虛擬主機,而且也還有免費的域名可用)。
整個安裝過程大致如下所示,每一步我會詳細說明:
1、搭建 Node.js 環境
2、搭建 Git 環境
3、安裝配置 Hexo
4、GitHub 注冊和配置
5、關聯 Hexo 與 GitHub Pages
6、GitHub Pages 地址解析到個人域名
7、Hexo 的常用操作
搭建 Node.js 環境
Node.js是一個基於Chrome JavaScript 運行時建立的一個平台。
Node.js是一個事件驅動I/O服務端JavaScript環境,基於Google的V8引擎,V8引擎執行Javascript的速度非常快,性能非常好。而Hexo就是一款基於Node.js的靜態博客框架,通過Node.js來生成靜態的Web頁面。
Node.js的官方網站如下所示:
中文網站:https://nodejs.org/zh-cn/
英文網站:https://nodejs.org/en/
可以在以上網站來下載所需要的版本。
在官方網站上可以看到有兩個版本,一個是LTS版本,一個是Current版本。

LTS是長期支持(Long Term Support)的縮寫,意味着提供長期穩定的維護,Current版本也就是最新版,包含了很多新特性。下載哪個版本可以看自己的喜好。
因為我自己電腦是Win10系統,並且也想使用下新特性,所以下載的node-v8.2.1-x64.msi文件。
安裝Node.js
Windows環境下Node.js安裝非常簡單,一路”Next”,最后等待安裝完成即可:


保持默認設置即可,一路Next,安裝很快就結束了。 然后我們檢查一下是不是要求的組件都安裝好了,同時按下Win和R,打開運行窗口:

在新打開的窗口中輸入cmd,敲擊回車,打開命令行界面。(下文將直接用打開命令行來表示以上操作,記住哦~)在打開的命令行界面中,輸入:
node -v
npm -v
如果結果如下圖所示,則說明安裝正確,可以進行下一步了,如果不正確,則需要回頭檢查自己的安裝過程。

搭建 Git 環境
Git是一款免費、開源的分布式版本控制系統,用於敏捷高效地處理任何或小或大的項目。
安裝Git用途其實也就是把本地的Hexo內容(既靜態的Web網站)提交到github或者Coding net等其他的代碼托管站點上。
Git的官網下載地址為:https://git-scm.com/downloads
安裝Git
大部分按默認安裝,一路點擊”Next” :

這里選擇對應的windows選項,將會使得Git安裝程序在系統PATH中加入Git的相關路徑,使得你可以在CMD界面下調用Git,不用打開Git Bash了。如下圖 :


等待安裝完成

安裝完成后我們來檢查一下Git是不是安裝正確了,打開命令行,輸入:
git --version
如果結果如下圖所示,則說明安裝正確,可以進行下一步了,如果不正確,則需要回頭檢查自己的安裝過程。

安裝配置 Hexo
Hexo的官網地址為:https://hexo.io/zh-cn
網站中有詳細的介紹和說明,大家可以訪問此網站進行詳細的了解。
Node.js和Git都安裝好后,即可開始安裝Hexo
安裝Hexo很簡單只需一條命令即可,不管你是在CMD命令行中執行,還是右鍵選擇Git Bash Here進入來執行都可以。
在命令行中輸入:
npm install hexo-cli -g

可能你會看到一個WARN,但是不用擔心,這不會影響你的正常使用。
下面我們來看一看Hexo是不是已經安裝好了。 在命令行中輸入:
hexo -v
創建Hexo站點
安裝 Hexo 完成后,就可以創建Hexo站點了。可以在E盤或者其他盤中創建Hexo目錄,名字隨意取。
比如CMD在命令行窗口中,進入到創建好的Hexo目錄中

進入到此目錄下后,我們依次運行以下命令,即可創建好Hexo站點
hexo init <folder> <folder> 自己隨意命名
cd <folder> 進入到已命名的<folder>目錄中
npm install
命令全部執行完成后,既可在目錄中查看到相應的文件生成,此時站點全部創建完畢。
首次體驗Hexo
繼續操作,同樣是在命令行中,輸入hexo g 來生成靜態頁面:
hexo g

然后輸入hexo s 開啟web服務:
hexo s
然后會提示:
INFO Hexo is running at http://localhost:4000/. Press Ctrl+C to stop.
在瀏覽器中打開http://localhost:4000/,你將會看到:

到目前為止,Hexo在本地的配置已經全都結束了。此時只是在本地創建好了站點並生成了靜態頁面,下面我們就需要在GitHub上創建代碼庫,並將本地的代碼上傳到GitHub上。
GitHub 注冊和配置
GitHub 是一個代碼托管平台,因為只支持 Git 作為唯一的版本庫格式進行托管,故名 GitHub。
Github官網地址為:https://github.com
Github注冊
打開https://github.com,在下圖的框中,分別輸入自己的用戶名,郵箱,密碼。

然后前往自己剛才填寫的郵箱,點開Github發送給你的注冊確認信,確認注冊,結束注冊流程。
一定要確認注冊,否則無法使用Github pages(既靜態頁面托管)!
創建代碼庫
注冊完成,登陸之后,點擊頁面右上角的加號,選擇New repository:

新建代碼庫
進入代碼庫創建頁面:
在Repository name下填寫yourname.github.io,Description (optional)下填寫一些簡單的描述(不寫也沒有關系),如圖所示:

注意:比如我的github名稱是lijunboy008 ,這里你就填 lijunboy008.github.io,如果你的名字是yourname,那你就填yourname.github.io
與github建立聯系
我們如何讓本地git項目與遠程的github建立聯系呢?用 SSH keys
1、生成SSH keys
在命令行中使用如下命令輸入你自己的郵箱地址(不管你是在CMD命令行中執行,還是右鍵選擇Git Bash Here進入來執行都可以)
ssh-keygen -t rsa -C "xxxx@qq.com"
在回車中會提示你輸入一個密碼,這個密碼會在你提交項目時使用,如果為空的話提交項目時則不用輸入,我們按回車不設置密碼。
2、添加 SSH Key 到 GitHub
打開 C:\Users\lijun.ssh\id_rsa.pub,此文件里面內容為剛才生成的密鑰,准確的復制這個文件里的內容,粘貼到 https://github.com/settings/ssh 的 new SSH key 中
3、測試是否添加成功
可以輸入下面的命令,看看設置是否成功,git@github.com的部分不要修改:
ssh -T git@github.com
如果是下面類似的反饋:
The authenticity of host ‘github.com (207.97.227.239)’ can’t be established.
RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.
Are you sure you want to continue connecting (yes/no)?
不要緊張,輸入yes就好,然后會看到:
Hi lijun! You've successfully authenticated, but GitHub does not provide shell access.
配置Git個人信息
現在你已經可以通過 SSH 鏈接到 GitHub 了,還有一些個人信息需要完善的。
Git 會根據用戶的名字和郵箱來記錄提交。GitHub 也是用這些信息來做權限的處理,輸入下面的代碼進行個人信息的設置,把名稱和郵箱替換成你自己的。
git config --global user.name "xxxxx"
git config --global user.email "xxxxx@qq.com"
配置 Deployment
在_config.yml文件中(此文件在你創建好的Hexo站點目錄中),找到Deployment,然后按照如下修改,用戶名改成你自己的GitHub信息:
需要注意的是:冒號后面記得空一格!
# Deployment
## Docs: https://hexo.io/docs/deployment.html
deploy:
type: git
repo: git@github.com:lijun/lijun.github.io.git
branch: master
本地文件提交到GitHub
// 刪除舊的 public 文件
hexo clean
// 生成新的 public 文件
hexo generate
或者
hexo g
// 開始部署
hexo deploye
或者
hexo d
如果沒有錯誤產生,此時你本地的代碼就已經上傳到了Github中。
注意1:若上面操作失敗,則需要提前安裝一個擴展:
npm install hexo-deployer-git --save
注意2:如果在執行 hexo d 后,出現 error deployer not found:github 的錯誤(如下),則是因為沒有設置好 public key 所致,重新詳細設置即可。
Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
關聯 Hexo 與 GitHub Pages
代碼庫正確創建之后,並且已經將代碼上傳到了Github中,此時你將會看到如下界面:

接下來開啟Github pages功能,點擊界面右側的Settings,你將會打開這個庫的setting頁面,向下拖動,直到看見GitHub Pages,如圖:

在紅框中選擇已經上傳的master branch代碼。
保存之后,此時直接訪問之前創建New repository時所填的信息:lijun.github.io,就可以看到相應的web頁面信息了,域名和站點都是免費的,是不是很cool!
GitHub Pages 地址解析到個人域名
Github Pages 是面向用戶、組織和項目開放的公共靜態頁面搭建托管服 務,站點可以被免費托管在 Github 上,你可以選擇使用 Github Pages 默認提供的域名 github.io 或者自定義域名來發布站點。
看着博客的域名是二級域名,總有一種寄人籬下的感覺,為了讓這個小窩看起來更加正式,我在阿里雲上買了一個域名,打算將博客綁定自己的域名。進行該綁定過程,其實就是一個重定向的過程。
在 GitHub 倉庫的根目錄下建立一個 CNAME 的文本文件(注意:沒有擴展名),文件里面只能輸入一個你的域名,不能加http://
www.xxxxx.com
注意:CNAME 一定是在你 Github 項目的 master 根目錄下
進入阿里雲域名解析地址,添加解析:
1、記錄類型選擇CNAME
2、主機記錄填www
3、解析線路選擇默認
4、記錄值填yourname.github.io
5、TTL值為10分鍾
6、再添加一個解析,記錄類型A
7、主機記錄填www
8、解析線路選擇默認
9、記錄值填你GitHub 的ip地址(在cmd中ping:)
點擊保存,等 1 分鍾,訪問下你自己的域名,一切就ok了。
域名綁定成功,域名解析成功,因此你在瀏覽中輸入 www.xxxxx.com,或 xxxxx.com 就可以訪問到博客了,輸入 lijun.github.io 會重定向到 www.xxxxx.com。
過程:www 的方式,會先解析成 http://xxxx.github.io,然后根據 CNAME 再變成 www
注意:CNAME文件在下次 hexo deploy的時候就消失了,需要重新創建,這樣就很繁瑣
方法一:每次 hexo d 之后,就去 GitHub 倉庫根目錄新建 CNAME文件
方法二:在 hexo g 之后, hexo d 之前,把CNAME文件復制到 “\public\” 目錄下面,里面寫入你要綁定的域名。
方法三(推薦):將需要上傳至github的內容放在source文件夾,例如CNAME、favicon.ico、images等,這樣在 hexo d 之后就不會被刪除了。
方法四:通過安裝插件實現永久保留
$ npm install hexo-generator-cname --save
之后在_config.yml中添加一條
plugins:
- hexo-generator-cname
需要注意的是:如果是在github上建立的CNAME文件,需要先clone到本地,然后安裝插件,在deploy上去即可。CNAME只允許一個域名地址。
注意:每次生成的 CNAME 都是 yoursite.com 怎么解決?
修改 _config.yml
url: http://www.xxxxx.com
root: /
permalink: :year/:month/:day/:title/
permalink_defaults:
Hexo 的常用操作
參考資料:
http://blog.csdn.net/qq80583600/article/details/72828063
http://blog.csdn.net/gdutxiaoxu/article/details/53576018
http://blog.csdn.net/jzooo/article/details/46781805
