1. 程式人生 > >從零開始 利用hexo在github上快速搭建個人部落格

從零開始 利用hexo在github上快速搭建個人部落格

image
利用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的下載與安裝:

image

安裝時全部選預設配置就是了

node.js安裝成功驗證:

1. 開啟控制檯:

cmd

2. 驗證node.js是否安裝成功:

node -v
  • 1
cmd

3. 驗證npm是否安裝成功:

npm -v
  • 1
cmd

(2)git的下載與安裝:

image
  • 地址2:百度雲盤: 密碼:el5c  版本號 : Git-2.8.1-64-bit ( 非最新 )
  • 安裝過程:

全選

image

選擇圖中第二項

image
  • 安裝成功驗證:
    1. 開啟控制檯:

cmd
2.驗證git是否安裝成功:

git --version
  • 1
cmd

(3)hexo的安裝

1. 在任意位置開啟Git Bash

image

2. 使用npm命令安裝hexo

輸入命令:

$ npm install -g hexo
  • 1

由於國內網路環境問題,使用上面的命令可能安裝會遇到問題,這時我們使用淘寶NPM映象,把命令換成以下,耐心等待安裝:

$ npm install -g cnpm --registry=https://registry.npm
.taobao.org
  • 1
image

然後使用淘寶NPM安裝Hexo,耐心等待

$ cnpm install -g hexo-cli
  • 1
image

3. 出現的WARN可以不用理會,繼續輸入以下命令:

$ cnpm install hexo --save
  • 1

4. 安裝完成後,在輸入命令,驗證是否安裝正確:

$ hexo -v
  • 1
image

2. hexo本地生成部落格:

1. 建立資料夾

建立放置hexo原始檔的資料夾
(命名隨意,只是作放置用途)

image

2.執行Git Bash:

在該資料夾下右鍵執行Git Bash:

image

3.hexo初始化

輸入以下命令,耐心等待初始化完成:

$ hexo init
  • 1
image

完成後開啟該資料夾會看到

image

4.使用編輯器(我使用的是editplus)開啟配置檔案  _config.yml,可以配置個人部落格的基本資訊

image

5.生成部落格

輸入以下命令,生成本地部落格檔案

$ hexo g
  • 1
image

6.本地部署測試

輸入以下命令,把生成的部落格部署到本地,並測試訪問

$ hexo s
  • 1
image

使用上圖標註的網址進行本地訪問 http://localhost:4000/ (注意:在git bash介面,不能用ctrl+C複製,只能右鍵copy)結果應該如下圖,看到部落格頁面(介面樣式和下圖肯定不一樣,下圖主題修改過,不要在意):

image

至此hexo本地部署就完成了。

3. github伺服器部署

將hexo託管到github伺服器上,實現遠端訪問:

1.註冊github賬號

(已經有了就忽略這一步)

詳細註冊流程就不多說了,差不多就是郵箱註冊,再郵箱驗證

2.新建倉庫

在github上新建一個放置部落格靜態頁面檔案的倉庫:

image

命名規則如下圖,紅線圈住的位置為你的github使用者名稱

username.github.io
  • 1
image

然後點選建立倉庫

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
image

4.安裝hexo釋出外掛

用於把本地生成的部落格,通過上面配置的地址,釋出到github上的倉庫中

還是在hexo原始檔夾下開啟git bash,輸入以下命令:

$ npm instal lhexo-deployer-git  --save
  • 1
image

5.配置SSH key

在你的電腦上生成ssh祕鑰並新增到github賬號上(個人理解是繫結該電腦到github上,避免每次部署部落格都要輸入github的賬號和密碼)

還是在hexo原始檔夾下開啟git bash,輸入以下命令:

$ ssh-keygen -t rsa -C "你的github註冊郵件地址"
  • 1

然後連續3次回車,最終會生成一個檔案在使用者目錄下

image

開啟使用者目錄,找到.ssh\id_rsa.pub檔案,記事本開啟並複製裡面的全部內容

image
開啟你的github主頁,進入個人設定 -> SSH and GPG keys -> New SSH key:

imageimage

新增該ssh key :title隨便取,key就填剛剛複製的那一段

image

最後測試是否新增成功

在gitbash中驗證是否新增成功:

$ ssh -T git@github.com
  • 1

看到以下資訊就說明SSH已配置成功!

image

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.設定域名解析:

image

點選新增解析,記錄型別選A或CNAME,A記錄的記錄值就是ip地址,github(官方文件)提供了兩個IP地址,192.30.252.153和192.30.252.154,這兩個IP地址為github的伺服器地址,兩個都要填上,解析記錄設定兩個www和@,線路就預設就行了,CNAME記錄值填你的github部落格網址。如: username.github.io。

imageimage

這些全部設定完成後,此時你並不能要申請的域名訪問你的部落格。接著你需要做的是在hexo根目錄的source資料夾裡建立CNAME檔案,不帶任何字尾,裡面新增你的域名資訊,如:name.com。實踐證明如果此時你填寫的是www.name.com那麼以後你只能用www.name.com訪問,而如果你填寫的是name.com。那麼用www.name.com和name.com訪問都是可以的。重新清理hexo,併發布即可用新的域名訪問。
image

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
Englishen
日本語ja
Koreanko

設定選單

menu:
  home: 首頁
  archives: 歸檔
  categories: 分類
  tags: 標籤
  about: 關於
  search: 搜尋
  commonweal: 公益404
  something: 有料
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

其他主題

文章釋出

hexo 支援的是markdown格式檔案的文章,hexo資料夾裡source資料夾裡_post資料夾 就是用來存放部落格文章的

imageimageimage

其中 .md 檔案就是你的部落格檔案,相當於Word生成的.doc檔案,為了方便你部落格排版。你可以利用各種markdown編輯器生成.md檔案,並進行部落格編寫,然後複製到_post資料夾下,再呼叫git bash命令進行部署釋出,最後就可以在你的部落格上看到了文章了