從零開始 利用hexo在github上快速搭建個人部落格
方案選型
主流的三種部落格搭建方案:
1. Git+Github+Markdown+jekyll (免費)
2. Git+Github+Markdown+hexo (免費)
3. 虛擬主機+外掛+Wordpress (付費)
- 1
- 2
- 3
我的選擇: Git+Github+Markdown+hexo
優點:
- 不需要自己購買伺服器資源,也就不需要考慮備案,第三種方案則需要自己購買伺服器資源,目前國內主流伺服器資源大概是200元一年,小的服務商可能會便宜很多,但服務質量不敢恭維,具體價格自行百度
- 利用hexo生成的靜態網頁,相比於第三種方案顯得更輕量級
- hexo 對比 jekyll搭建操作更簡單、命令少、易於記憶,更容易快速上手
- 可以直接在github上編輯和釋出部落格
缺點:
- 經常切換電腦編寫部落格時,會比較麻煩,所有電腦都需要重新配置環境
- 相比於擁有自建伺服器的Wordpress,hexo的功能和可擴充套件性有限
- Github國內訪問速度比較慢
- (最坑)不做處理的話,部落格內容百度檢索不到
搭建步驟
1. 環境的搭建,軟體安裝:
需要安裝的軟體有:
– node.js hexo需要用到的語言環境
– git 靜態網頁上傳到伺服器需要用到的版本控制工具
– hexo 靜態網頁生成工具
(1)node.js的下載與安裝:
安裝時全部選預設配置就是了
node.js安裝成功驗證:
1. 開啟控制檯:
2. 驗證node.js是否安裝成功:
node -v
- 1
3. 驗證npm是否安裝成功:
npm -v
- 1
(2)git的下載與安裝:
- 地址1:官網下載地址 國內訪問比較慢
- 地址2:百度雲盤: 密碼:el5c 版本號 : Git-2.8.1-64-bit ( 非最新 )
- 安裝過程:
全選
選擇圖中第二項
- 安裝成功驗證:
- 開啟控制檯:
2.驗證git是否安裝成功:
git --version
- 1
(3)hexo的安裝
1. 在任意位置開啟Git Bash
2. 使用npm命令安裝hexo
輸入命令:
$ npm install -g hexo
- 1
由於國內網路環境問題,使用上面的命令可能安裝會遇到問題,這時我們使用淘寶NPM映象,把命令換成以下,耐心等待安裝:
$ npm install -g cnpm --registry=https://registry.npm .taobao.org
- 1
然後使用淘寶NPM安裝Hexo,耐心等待
$ cnpm install -g hexo-cli
- 1
3. 出現的WARN可以不用理會,繼續輸入以下命令:
$ cnpm install hexo --save
- 1
4. 安裝完成後,在輸入命令,驗證是否安裝正確:
$ hexo -v
- 1
2. hexo本地生成部落格:
1. 建立資料夾
建立放置hexo原始檔的資料夾
(命名隨意,只是作放置用途)
2.執行Git Bash:
在該資料夾下右鍵執行Git Bash:
3.hexo初始化
輸入以下命令,耐心等待初始化完成:
$ hexo init
- 1
完成後開啟該資料夾會看到
4.使用編輯器(我使用的是editplus)開啟配置檔案 _config.yml,可以配置個人部落格的基本資訊
5.生成部落格
輸入以下命令,生成本地部落格檔案
$ hexo g
- 1
6.本地部署測試
輸入以下命令,把生成的部落格部署到本地,並測試訪問
$ hexo s
- 1
使用上圖標註的網址進行本地訪問 http://localhost:4000/ (注意:在git bash介面,不能用ctrl+C複製,只能右鍵copy)結果應該如下圖,看到部落格頁面(介面樣式和下圖肯定不一樣,下圖主題修改過,不要在意):
至此hexo本地部署就完成了。
3. github伺服器部署
將hexo託管到github伺服器上,實現遠端訪問:
1.註冊github賬號
(已經有了就忽略這一步)
詳細註冊流程就不多說了,差不多就是郵箱註冊,再郵箱驗證
2.新建倉庫
在github上新建一個放置部落格靜態頁面檔案的倉庫:
命名規則如下圖,紅線圈住的位置為你的github使用者名稱
username.github.io
- 1
然後點選建立倉庫
3.部署配置
在hexo本地的配置檔案_config.yml中關聯上剛才在github上新建立的倉庫:
在_config.yml最底部找到deploy配置,進行如下圖的配置,配置完成記得儲存
deploy:
type: git
repo: [email protected].com:github賬戶名/github賬戶名.github.io.git
branch: master
- 1
- 2
- 3
- 4
4.安裝hexo釋出外掛
用於把本地生成的部落格,通過上面配置的地址,釋出到github上的倉庫中
還是在hexo原始檔夾下開啟git bash,輸入以下命令:
$ npm instal lhexo-deployer-git --save
- 1
5.配置SSH key
在你的電腦上生成ssh祕鑰並新增到github賬號上(個人理解是繫結該電腦到github上,避免每次部署部落格都要輸入github的賬號和密碼)
還是在hexo原始檔夾下開啟git bash,輸入以下命令:
$ ssh-keygen -t rsa -C "你的github註冊郵件地址"
- 1
然後連續3次回車,最終會生成一個檔案在使用者目錄下
開啟使用者目錄,找到.ssh\id_rsa.pub檔案,記事本開啟並複製裡面的全部內容
開啟你的github主頁,進入個人設定 -> SSH and GPG keys -> New SSH key:
新增該ssh key :title隨便取,key就填剛剛複製的那一段
最後測試是否新增成功
在gitbash中驗證是否新增成功:
$ ssh -T git@github.com
- 1
看到以下資訊就說明SSH已配置成功!
6.賬號和郵箱設定
為git配置github的賬號和郵箱:
$ git config --global user.name "liuxianan"// 你的github使用者名稱,非暱稱
$ git config --global user.email "[email protected]"// 填寫你的github註冊郵箱
- 1
- 2
7、部落格上傳
正式把部落格上傳到github上,並可以網路訪問
依次執行以下命令:清理 – 生成 – 部署
$ hexo clean
- 1
$ hexo generate
- 1
$ hexo deploy
- 1
大功告成!!!
感覺gitbash中東西太多的時候輸入clear命令清空。
其他
域名繫結
部落格每次都要使用githubname.github.io這麼一個長串的域名來訪問顯得太low了,這時我們可以考慮繫結我們自己的域名,這一點github是支援域名繫結的
1.購買域名:
域名供應商有很多,首推阿里的萬網,大公司可靠,相對於伺服器昂貴的價格,域名一年也就幾十元錢,選個可靠的更好,可以省去不必要的麻煩。個人建議選擇: .com 結尾的域名(大眾化,貴不了多少,具體的看個人需求),購買後大概6個小時就能生效
,儘快進行實名認證
2.設定域名解析:
點選新增解析,記錄型別選A或CNAME,A記錄的記錄值就是ip地址,github(官方文件)提供了兩個IP地址,192.30.252.153和192.30.252.154,這兩個IP地址為github的伺服器地址,兩個都要填上,解析記錄設定兩個www和@,線路就預設就行了,CNAME記錄值填你的github部落格網址。如: username.github.io。
這些全部設定完成後,此時你並不能要申請的域名訪問你的部落格。接著你需要做的是在hexo根目錄的source資料夾裡建立CNAME檔案,不帶任何字尾,裡面新增你的域名資訊,如:name.com。實踐證明如果此時你填寫的是www.name.com那麼以後你只能用www.name.com訪問,而如果你填寫的是name.com。那麼用www.name.com和name.com訪問都是可以的。重新清理hexo,併發布即可用新的域名訪問。
3.出現404:
- 綁定了個人域名,但是域名解析錯誤。
- 域名解析正確但你的域名是通過國內註冊商註冊的,你的域名因沒有實名制而無法訪問。
- 你認為配置沒有問題,那麼可能只是你的瀏覽器在搗鬼,可嘗試清除瀏覽器快取再訪問或者換個瀏覽器訪問。
- 也有可能是你的路由器快取導致的錯覺,所以也可以嘗試換個區域網訪問你的網站。
- 最有可能的原因是你下載的hexo有問題,導致所有的東西都上傳到了github,而導致index頁面在主域名的下一級目錄。你可以嘗試檢視上傳的內容,找到index頁面,在域名後面新增下一級目錄。若能訪問index頁面(此時樣式可能是亂的),則證明是hexo安裝有問題,筆者當時遇到的就是這個問題。可解除安裝重新安裝。
注:1,2預設你的CNAME檔案配置沒有問題,如果沒有繫結個人域名,則不需要CNAME檔案。
主題修改
如何更換主題
[參考教程](http://www.jianshu.com/p/469e985288b3?from=jiantop.com) 主題下載: 例子:next主題 點到部落格原始檔右鍵開啟git bash,把主題克隆到本地themes資料夾中
git clone https://github.com/iissnan/hexo-theme-next themes/next
- 1
![image](http://ow0s809ce.bkt.clouddn.com/themes1.png) ![image](http://ow0s809ce.bkt.clouddn.com/themes2.png) 配置檔案_config.yml中把預設主題landscape修改為next ![image](http://ow0s809ce.bkt.clouddn.com/themes3.png) 然後就可以輸入以下命令本地部署看一看效果了
hexo s
- 1
呈現效果應該如下: ![image](http://ow0s809ce.bkt.clouddn.com/themes4.png)
next基本配置
next 是hexo中使用者量比較大的一個主題,國內文件比較多,介面樣式比較簡潔 [官網教程](http://theme-next.iissnan.com/getting-started.html) [個性化配置參考教程](https://segmentfault.com/a/1190000009544924) 進入next資料夾中開啟主題配置檔案_config.yml配置主題樣式
選擇 Scheme
Scheme 是 NexT 提供的一種特性,藉助於 Scheme,NexT 為你提供多種不同的外觀。同時,幾乎所有的配置都可以 在 Scheme 之間共用。目前 NexT 支援三種 Scheme,他們是:
- Muse – 預設 Scheme,這是 NexT 最初的版本,黑白主調,大量留白
- Mist – Muse 的緊湊版本,整潔有序的單欄外觀
- Pisces – 雙欄 Scheme,小家碧玉似的清新
Scheme 的切換通過更改 主題配置檔案,搜尋 scheme 關鍵字。 你會看到有三行 scheme 的配置,將你需用啟用的 scheme 前面註釋 # 去除即可。
設定語言
站點配置檔案, 將 language設定成你所需要的語言。建議明確設定你所需要的語言,例如選用簡體中文:language: zh-Hans
語言 | 程式碼 |
---|---|
簡體中文 | zh-Hans |
English | en |
日本語 | ja |
Korean | ko |
設定選單
menu:
home: 首頁
archives: 歸檔
categories: 分類
tags: 標籤
about: 關於
search: 搜尋
commonweal: 公益404
something: 有料
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
其他主題
文章釋出
hexo 支援的是markdown格式檔案的文章,hexo資料夾裡source資料夾裡_post資料夾 就是用來存放部落格文章的
其中 .md 檔案就是你的部落格檔案,相當於Word生成的.doc檔案,為了方便你部落格排版。你可以利用各種markdown編輯器生成.md檔案,並進行部落格編寫,然後複製到_post資料夾下,再呼叫git bash命令進行部署釋出,最後就可以在你的部落格上看到了文章了