一直據說用hexo搭建一個擁有本身域名的博客是很酷炫的事情~,在這十一花上半個小時整個hexo博客豈不美哉。html
使用Hexo吸引個人是,其簡單優雅, 並且風格多變, 適合程序員搭建我的博客,並且支持多平臺的搭建,再加上有些node,git基礎,分分鐘建立出一個高大上的博客。廢話少說,開始吧。node
1.node:用來生成靜態頁面的 到Node.js官網下載相應平臺的最新版本,一路安裝便可。linux
2.git: 把本地的hexo內容提交到github上去.沒有安裝的能夠看此教程。git
3.github:用來作博客的遠程創庫、域名、服務器。(~很少說了)程序員
而後你還要知道一點點linux命令,域名解析相關知識(以上條件你都達到了,那麼恭喜你30分鐘搭建倒計時開始~)github
(本人是Mac系統,其餘系統的朋友這部分能夠看官網教程)npm
當Node.js和Git都安裝好後就能夠正式安裝Hexo了,終端執行以下命令:json
$ sudo npm install -g hexo
輸入管理員密碼即開始安裝vim
Hexo官網上的安裝命令是$ npm install -g hexo-cli,安裝時不要忘記前面加上sudo,不然會由於權限問題報錯。
終端cd到一個你選定的目錄(好比建立一個blog文件,$cd blog),執行hexo init
命令:瀏覽器
$ hexo init
在blog目錄下,執行以下命令,安裝npm:
$ npm install
執行以下命令,開啓hexo服務器:
$ hexo s
此時,瀏覽器中打開網址http://localhost:4000,能看到以下頁面:
本地設置好後,接下來開始關聯Github。
登陸你的Github賬號,新建倉庫,名爲用戶名.github.io
固定寫法。
本地的blog
文件夾下內容爲:
_config.yml db.json node_modules package.json scaffolds source themes
終端cd到blog
文件夾下,vim
打開_config.yml
,命令以下:
$ vim _config.yml
打開後往下滑到最後,修改爲下邊的樣子:
deploy: type: git repository: https://github.com/MuYunyun/MuYunyun.github.io.git branch: master
你須要將repository
後MuYunyun換成你本身的用戶名
注意坑二:在配置全部的_config.yml文件時(包括theme中的),在全部的冒號:後邊都要加一個空格,不然執行hexo命令會報錯,切記 切記
在blog
文件夾目錄下執行生成靜態頁面命令:
$ hexo generate 或者:hexo g
此時若出現以下報錯: ERROR Local hexo not found in ~/blog ERROR Try runing: 'npm install hexo --save' 則執行命令: npm install hexo --save 若無報錯,自行忽略此步驟。
再執行配置命令:
$ hexo deploy 或者:hexo d
注意坑三:若執行命令hexo deploy
仍然報錯:沒法鏈接git或找不到git,則執行以下命令來安裝hexo-deployer-git:
$ npm install hexo-deployer-git --save
若你未關聯Github,則執行hexo deploy
命令時終端會提示你輸入Github的用戶名和密碼,即
Username for 'https://github.com': Password for 'https://github.com':
hexo deploy
命令執行成功後,瀏覽器中打開網址http://MuYunyun.github.io(將MuYunyun
換成你的用戶名)能看到和打開http://localhost:4000
時同樣的頁面。
爲避免每次輸入Github用戶名和密碼的麻煩,可參照第二節方法
1.1.檢查SSH keys是否存在Github
執行以下命令,檢查SSH keys是否存在。若是有文件id_rsa.pub
或id_dsa.pub
,則直接進入步驟1.3將SSH key添加到Github中,不然進入下一步生成SSH key。
$ ls -al ~/.ssh
1.2.生成新的ssh key
執行以下命令生成public/private rsa key pair,注意將your_email@example.com
換成你本身註冊Github的郵箱地址。
$ ssh-keygen -t rsa -C "your_email@example.com"
默認會在相應路徑下(~/.ssh/id_rsa.pub
)生成id_rsa
和id_rsa.pub
兩個文件。
1.3.將ssh key添加到Github中
Find前往文件夾~/.ssh/id_rsa.pub
打開id_rsa.pub文件,裏面的信息即爲SSH key,將這些信息複製到Github的Add SSH key頁面便可。
進入Github --> Settings --> SSH keys --> add SSH key:
Title裏任意添一個標題,將複製的內容粘貼到Key裏,點擊下方Add key
綠色按鈕便可。
終端cd到blog
文件夾下,執行以下命令新建文章:
hexo new "postName"
名爲postName.md
的文件會建在目錄/blog/source/_posts
下。
文章編輯完成後,終端cd到blog
文件夾下,執行以下命令來發布:
hexo generate //生成靜態頁面
hexo deploy //將文章部署到Github
你能夠到Hexo官網主題頁去搜尋本身喜歡的theme。這裏以hexo-theme-next爲例
終端cd到 blog
目錄下執行以下命令:
$ git clone https://github.com/iissnan/hexo-theme-next themes/next
將blog
目錄下_config.yml
裏theme
的名稱landscape
修改成next
終端cd到blog
目錄下執行以下命令(每次部署文章的步驟):
$ hexo clean //清除緩存文件 (db.json) 和已生成的靜態文件 (public)
$ hexo g //生成緩存和靜態文件
$ hexo d //從新部署到服務器
至於更改theme內容,好比名稱,描述,頭像等去修改blog/_config.yml
文件和blog/themes/next/_config.yml
文件中對應的屬性名稱便可,不要忘記冒號:
後加空格。NexT 使用文檔裏有極詳細的介紹。
首先假設你有一個域名而且是可用狀態。修改你域名的DNS
地址爲 f1g1ns1.dnspod.net
和f1g1ns2.dnspod.net
如今使用的域名是Github提供的二級域名,也能夠綁定爲本身的個性域名。購買域名,我是在萬網買的,可直接在其網站作域名解析。
1.Github端
在/blog/themes/landscape/source
目錄下新建文件名爲:CNAME
文件,注意沒有後綴名!直接將本身的域名如:muyunyun.cn
寫入。
終端cd到blog
目錄下執行以下命令從新部署:
$ hexo clean
$ hexo g
$ hexo d
網上許多都是說在Github上直接新建CNAME文件,若是這樣的話,在你下一次執行hexo d部署命令後CNAME文件就消失了,由於本地沒有此文件嘛。
2.域名解析
若是將域名指向一個域名,實現與被指向域名相同的訪問效果,須要增長CNAME記錄。登陸萬網,在你購買的域名後邊點擊:解析 --> 添加解析
記錄類型:CNAME
主機記錄:將域名解析爲example.com(不帶www),填寫@或者不填寫
記錄值:MuYunyun.github.io. (不要忘記最後的.
,MuYunyun
改成你本身的用戶名),點擊保存便可,以下圖:
ps:萬網DNS地址更換貌似須要一段時間才能生效,若是不能訪問請晚點或者隔天再訪問域名,若是仍是不行可能就是出問題了。
鐺鐺鐺,點擊MuYunyun.github.io和訪問http://muyunyun.cn/訪問效果一致
github pages
雖然免費,但畢竟是國外的服務器,國內訪問能夠稍微緩慢,若是能夠的話,可去買一個支持Node.js
的國內雲空間便可。能夠參考我以前寫的
1元搭建本身的雲服務器~~搭建好這個博客,滿滿的成就感。祝你們節日快樂~~
參考連接:Mac上搭建基於GitHub的Hexo博客 (這篇博文寫得已經大部分很到位了,本文是基於這篇博文上作了些改動,博文所寫的都通過實踐,若有錯誤,歡迎指正)