個(gè)人博客網(wǎng)站搭建(一)--基于Hexo與Github

1. 為什么要搭建個(gè)人博客網(wǎng)站?

  • 記錄折騰軟件或者技術(shù)的過程,免得下次再折騰的時(shí)候重新找各種網(wǎng)站和教程——省事
  • 記錄一下自己所遇到的問題以及解決辦法伊诵。
  • 分享自己的生活經(jīng)驗(yàn)
  • 裝X
  • 我可是以后要做程序猿的男人,不會(huì)自己搭建網(wǎng)站可沒臉見人回官。

2. 搭建網(wǎng)站需要了解的常識(shí)

1. 域名

把互聯(lián)網(wǎng)上的每一個(gè)網(wǎng)站比作房間的話曹宴,那么域名就相當(dāng)于房間號(hào),不然別人怎么去訪問你的房間歉提。簡單說就是網(wǎng)址笛坦。域名解析是指將域名解析為IP。域名是IP的代名詞,沒有人會(huì)去記IP,訪問網(wǎng)站都是訪問域名的苔巨。
那如何得到域名版扩?有免費(fèi)和付費(fèi)兩種。其中我選擇的Github page就能提供免費(fèi)域名侄泽,付費(fèi)域名那選擇就多了礁芦。國內(nèi):阿里云、騰訊云。國外:Godaddy柿扣、Name

2. 網(wǎng)頁存放空間

  • 購買服務(wù)器或者把自己的電腦當(dāng)服務(wù)器肖方。
  • 購買虛擬服務(wù)器
    VPS是虛擬服務(wù)器的簡寫,相當(dāng)于一臺(tái)完整的計(jì)算機(jī),可以安裝軟件,存放數(shù)據(jù),下載上傳,但是它不在我們面前,而是在VPS服務(wù)商的機(jī)房里,我們只能通過遠(yuǎn)程去操作這臺(tái)計(jì)算機(jī).由于VPS就相當(dāng)于一臺(tái)完整的計(jì)算機(jī),所以我們在上面的可操作性比較大,我們可以安裝服務(wù)器程序用來提供網(wǎng)頁下載服務(wù),安裝php提供后端處理能力,安裝mysql提供數(shù)據(jù)庫服務(wù).非常靈活.因此VPS可以同時(shí)支持動(dòng)態(tài)博客框架和靜態(tài)博客框架。
    VPS 選擇須知:常見主機(jī)操作系統(tǒng)分為 Linux 和 Windows 兩種未状。作為開源系統(tǒng)俯画,Linux 主機(jī)在系統(tǒng)成本、性能以及穩(wěn)定性上目前是絕對(duì)優(yōu)于 Windows 主機(jī)的司草。購買的時(shí)候要注意自己的域名是不是已經(jīng)ICP備案艰垂,如果沒有備案不能選擇大陸的主機(jī),建議用香港的翻伺,畢竟與日韓美比地理位置相對(duì)于大陸較近比材泄。國外口碑較好的 VPS 供應(yīng)商有 DigitalOcean沮焕,Linode 等等吨岭,這類主機(jī)通常在服務(wù)和質(zhì)量上是有所保證的,價(jià)格在 30-60 美元/每月不等峦树。另外一款較為便宜的 VPS辣辫,叫做版瓦工,價(jià)格在 12 美元一年魁巩。你的域名備案了可以選擇大陸的主機(jī)急灭,比如阿里云,騰訊云都可以
  • 使用Github pages
    GitHub Pages是GitHub提供的一項(xiàng)免費(fèi)服務(wù).每個(gè)GitHub賬號(hào)可以申請一個(gè)pages倉庫用來存放網(wǎng)頁文件.而GitHub在已經(jīng)安裝好了服務(wù)器程序以便于瀏覽器訪問這些網(wǎng)頁.由于GitHub Pages不支持php和數(shù)據(jù)庫,因此只能在上面部署靜態(tài)博客框架.

3. 博客框架介紹

每篇文章都自己寫網(wǎng)頁是不現(xiàn)實(shí)的,而即使是web開發(fā)大神,也不會(huì)所有網(wǎng)頁都自己寫,因?yàn)樘闊┨爆嵙?那么有沒有什么自動(dòng)化的整理排版網(wǎng)頁生成工具可以用呢?當(dāng)然有!我們需要利用博客框架來自動(dòng)生成網(wǎng)頁文件.
博客框架是指一個(gè)自動(dòng)化的程序,我們只需要以框架要求的語法(如markdown)提供我們博客文章的材料,它就會(huì)自動(dòng)幫我們排版文字,轉(zhuǎn)換成網(wǎng)頁文件,生成網(wǎng)頁層級(jí)組織,生成網(wǎng)站首頁,一切都是全自動(dòng)的,我們只需要關(guān)心我們文章的內(nèi)容就夠了.自動(dòng)化萬歲!
而博客框架一般分為動(dòng)態(tài)頁面框架靜態(tài)頁面框架兩種.

  • 動(dòng)態(tài)框架
    動(dòng)態(tài)頁面框架是指用戶在訪問我們的網(wǎng)站的時(shí)候,所有的網(wǎng)頁都是在訪問的時(shí)候動(dòng)態(tài)生成的,平時(shí)沒有,訪問的時(shí)候現(xiàn)場生成,這種框架的好處是搭建簡單,現(xiàn)用現(xiàn)做,支持評(píng)論互動(dòng),功能比較強(qiáng)大.但是需要服務(wù)器支持php和數(shù)據(jù)庫.這一類的框架比較著名的是WordPress.由于這類框架要求服務(wù)器有數(shù)據(jù)庫和php支持,很多人用vps+wordpress搭建個(gè)人博客谷遂。
  • 靜態(tài)框架
    這一類的框架是指我們每次在寫完文章后啟動(dòng)框架為我們生成一套網(wǎng)頁文件葬馋,這套文件部署在服務(wù)器上供別人訪問,其中的內(nèi)容是不會(huì)變動(dòng)的肾扰,直到我們下次修改或?qū)懶碌奈恼潞笤偕梢惶仔碌奈募渴鸬椒?wù)器后畴嘶,網(wǎng)站的內(nèi)容才會(huì)改變.網(wǎng)站上的內(nèi)容是靜態(tài)的,因此成為靜態(tài)博客框架.這類框架比較有名的有Hexo.這類框架的好處是對(duì)服務(wù)器要求簡單,不需要php和數(shù)據(jù)庫支持.但是比如文章評(píng)論等動(dòng)態(tài)改變網(wǎng)頁內(nèi)容的功能,在這種框架中生成的網(wǎng)頁中就無法實(shí)現(xiàn)了(事實(shí)上,如果一定要使用評(píng)論功能,可以使用Disque之類的第三方服務(wù)集成到Hexo生成的網(wǎng)站中來實(shí)現(xiàn)評(píng)論,原理還是利用第三方的服務(wù)商的數(shù)據(jù)庫和服務(wù)器來存放評(píng)論數(shù)據(jù))集晚。

3. 開始搭建

1. 環(huán)境安裝

  • 安裝git
    windows下使用msysGit
    Git與Github使用教程(一)--Git安裝窗悯、Git賬戶與GitHub賬戶連接
    Git與Github使用教程(二)--Windows下msysGit的使用
  • 獲得github page網(wǎng)頁空間
    注冊好GitHub賬號(hào)后,新建倉庫repository偷拔,倉庫名就設(shè)為:github-name.github.io蒋院。選擇public,新建成功莲绰。
    建立好之后我們就已經(jīng)有了自己的網(wǎng)頁存放空間啦!今后通過
    https://github-name.github.io就能訪問博客欺旧。
    部署網(wǎng)頁的方法:
    1、先clone我們的倉庫,然后修改其中的內(nèi)容(例如添加網(wǎng)頁刪除網(wǎng)頁等),最后commit + push到github上就可以了.這很麻煩,
    2.蛤签、Hexo為我們提供了一鍵生成+發(fā)布的功能,今后連commit+push也可以省去啦,直接hexo deploy即可辞友。

官方教程網(wǎng)站:https://pages.github.com/

  • 部署Hexo框架
    Hexo需要部署在我們自己的計(jì)算機(jī)上,由于Hexo是基于Nodejs編寫的,所以我們首先需要安裝Nodejs

安裝參考地址:安裝Node.js

對(duì)于Windows系統(tǒng),在Nodejs官網(wǎng)上下載并安裝Nodejs顷啼。
安裝完畢后在我們的電腦里建立一個(gè)新的文件夾來存放我們的博客工程文件,例如D:/hexo
在該文件夾里右鍵選擇git bash 打開命令行
使用npm安裝Hexo

npm install -g hexo  #官方命令為:npm install -g hexo-cli

-g參數(shù)是要求全局安裝,這樣我們以后就可以直接在命令行里使用hexo命令了踏枣。
由于我們要提交到github上,我們還需要安裝hexo git提交插件.

npm install hexo-deployer-git --save

2. 初始化博客工程

hexo init <folder>  # hexo會(huì)在目標(biāo)文件夾建立網(wǎng)站所需要的所有文件
cd <folder>
npm install    # 安裝依賴包

上面的folder為博客的工程名,我們可以自己起,例如testBlog
完畢以后我們可以進(jìn)入我們之前初始化好的文件夾,例如D:/blog/testBlog中
,修改_config.yml文件來調(diào)整hexo的設(shè)置昌屉。

初始化好的文件夾內(nèi)容及各文件功能如下:
├── .deploy #需要部署的文件
├── node_modules #Hexo插件
├── public #生成的靜態(tài)網(wǎng)頁文件
├── scaffolds #模板
├── source #博客正文和其他源文件,404茵瀑、favicon间驮、CNAME 都應(yīng)該放在這里
| ├── _drafts #草稿
| └── _posts #文章
├── themes #主題
├── _config.yml #全局配置文件
└── package.json

3. 本地查看

現(xiàn)在我們已經(jīng)搭建起本地的hexo博客了,執(zhí)行以下命令:

hexo generate   #生成靜態(tài)文件到public文件夾 
hexo server   #在本地服務(wù)器運(yùn)行

至此马昨,本地博客已經(jīng)搭建起來了竞帽,只是本地,別人看不到的鸿捧,瀏覽器輸入localhost:4000看看
要想從通過網(wǎng)站看需要部署到Github屹篓。

4. 修改_config.yml文件基礎(chǔ)配置調(diào)整hexo的設(shè)置

title: 這里填寫博客的標(biāo)題
subtitle: 這里填寫博客的副標(biāo)題
description: 這里填寫博客的描述
author: 這里填寫博客的作者
language: 這里填寫博客的語言,如果是中文填寫”zh”
url: 這里填寫我們之前申請的博客網(wǎng)頁存放空間的網(wǎng)址,例如我們的github用戶名為”aaa”,這里就填寫”http://aaa.github.io
deploy:
type: 這里填寫”git”
repo: 這里填寫我們之前申請的git倉庫的地址,例如我們的用戶名為”aaa”,則此處填寫”git@github.com:aaa/aaa.github.io.git

暫時(shí)就填寫這么多就夠了,其他的部分暫時(shí)先不做修改,保存,退出.如果需要了解更多hexo的配置或者想要做更高級(jí)的定制,可以查看官方配置說明

5. 部署到github

現(xiàn)在網(wǎng)站已經(jīng)基本建好了,可以部署到github上匙奴,使用命令:

hexo generate
hexo deploy

或者

hexo g -d

該命令的意思是使用hexo生成整個(gè)博客的網(wǎng)頁文件,并且上傳到我們剛才repo里面填寫的git倉庫里.hexo會(huì)自動(dòng)檢索我們博客文章的改動(dòng),刪除,增加,并生成一套新的網(wǎng)頁堆巧。
以下提示說明部署成功

[info] Deploy done: git

打開瀏覽器輸入網(wǎng)址:

http://你的github用戶名.github.io

即可訪問網(wǎng)頁。

6. 寫文章

git bash命令行模式,進(jìn)入我們的博客文件夾:

hexo new "標(biāo)題"

在 _posts 目錄下會(huì)生成文件 標(biāo)題.md

title: Hello World   #文章頁面上的顯示名稱泼菌,可以任意修改谍肤,不會(huì)出現(xiàn)在URL中
date: 2015-07-30 07:56:29 #發(fā)表日期,一般不改動(dòng)
categories: hexo #文章分類目錄哗伯,多個(gè)分類使用[a,b,c]這種格式
tags: [hexo,github] #文章標(biāo)簽荒揣,多于一項(xiàng)時(shí)用這種格式
---
正文,使用Markdown語法書寫
<!--more--> 
#more標(biāo)簽以下的內(nèi)容要點(diǎn)擊“閱讀全文”才能看見焊刹,#more標(biāo)簽以上的內(nèi)容為你首頁顯示文章的摘要部分

編寫好之后系任,保存退出,之后用hexo g -d生成網(wǎng)頁文件在部署到github上即可虐块。

附錄

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末俩滥,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子非凌,更是在濱河造成了極大的恐慌举农,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,454評(píng)論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件敞嗡,死亡現(xiàn)場離奇詭異颁糟,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)喉悴,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,553評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門棱貌,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人箕肃,你說我怎么就攤上這事婚脱。” “怎么了?”我有些...
    開封第一講書人閱讀 157,921評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵障贸,是天一觀的道長错森。 經(jīng)常有香客問我,道長篮洁,這世上最難降的妖魔是什么涩维? 我笑而不...
    開封第一講書人閱讀 56,648評(píng)論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮袁波,結(jié)果婚禮上瓦阐,老公的妹妹穿的比我還像新娘。我一直安慰自己篷牌,他們只是感情好睡蟋,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,770評(píng)論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著枷颊,像睡著了一般戳杀。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上偷卧,一...
    開封第一講書人閱讀 49,950評(píng)論 1 291
  • 那天豺瘤,我揣著相機(jī)與錄音,去河邊找鬼听诸。 笑死,一個(gè)胖子當(dāng)著我的面吹牛蚕泽,可吹牛的內(nèi)容都是我干的晌梨。 我是一名探鬼主播,決...
    沈念sama閱讀 39,090評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼须妻,長吁一口氣:“原來是場噩夢啊……” “哼仔蝌!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起荒吏,我...
    開封第一講書人閱讀 37,817評(píng)論 0 268
  • 序言:老撾萬榮一對(duì)情侶失蹤敛惊,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后绰更,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體瞧挤,經(jīng)...
    沈念sama閱讀 44,275評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,592評(píng)論 2 327
  • 正文 我和宋清朗相戀三年儡湾,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了特恬。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,724評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡徐钠,死狀恐怖癌刽,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤显拜,帶...
    沈念sama閱讀 34,409評(píng)論 4 333
  • 正文 年R本政府宣布衡奥,位于F島的核電站,受9級(jí)特大地震影響远荠,放射性物質(zhì)發(fā)生泄漏杰赛。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,052評(píng)論 3 316
  • 文/蒙蒙 一矮台、第九天 我趴在偏房一處隱蔽的房頂上張望乏屯。 院中可真熱鬧,春花似錦瘦赫、人聲如沸辰晕。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,815評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽含友。三九已至,卻和暖如春校辩,著一層夾襖步出監(jiān)牢的瞬間窘问,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,043評(píng)論 1 266
  • 我被黑心中介騙來泰國打工宜咒, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留惠赫,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,503評(píng)論 2 361
  • 正文 我出身青樓故黑,卻偏偏與公主長得像儿咱,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子场晶,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,627評(píng)論 2 350

推薦閱讀更多精彩內(nèi)容