建站背景
昨天在百度一個(gè)python用法時(shí)進(jìn)到一個(gè)個(gè)人博客里撞反,查完用法之后突然覺得那個(gè)博客做得挺好,內(nèi)容充實(shí)有用,風(fēng)格簡約吱窝,同時(shí)我也注意到那個(gè)博客是Hexo框架的,稍微百度了一下就發(fā)現(xiàn)Hexo挺有意思的,也比較適合做輕量級的博客心剥。其中有一個(gè)hexo入門指南的文章里說道:
ghost目前人氣最高邦尊,號稱是要取代WordPress的下一代博客平臺。不過問題也正在于此优烧,它的目標(biāo)定位是博客平臺蝉揍,像WordPress一樣重量級。僅用于一個(gè)獨(dú)立博客畦娄,有點(diǎn)高射炮打蚊子的意思又沾。最關(guān)鍵的一點(diǎn),ghost生成的是動(dòng)態(tài)網(wǎng)站熙卡,依賴數(shù)據(jù)庫捍掺,我的直覺立刻讓我放棄掉了ghost。
為什么我要排斥數(shù)據(jù)庫再膳?一個(gè)原因是我對純文本有偏愛挺勿,感覺上要比二進(jìn)制可控。但主要原因還是出于我的一個(gè)顧慮喂柒,說來可笑:我希望到了年老昏花的時(shí)候不瓶,這個(gè)博客依然在。
那時(shí)可能已經(jīng)寫不動(dòng)了灾杰,技術(shù)上的事更折騰不了蚊丐,但我希望它還能運(yùn)行,能看艳吠。站在今天麦备,無法預(yù)料那時(shí)候是什么操作系統(tǒng),天知道nodeJS能不能堅(jiān)持到那天昭娩,更別說ghost凛篙。唯一能確定的是,越簡單栏渺、對環(huán)境依賴越少呛梆,就越有可能長命百歲。我可不想到時(shí)候發(fā)現(xiàn)博客打不開了磕诊,戴上花鏡趴上前去一看填物,db connection error。
看到這段話的最后霎终,我都沒忍住笑出聲了滞磺。這個(gè)作者也提到了一些用Hexo做個(gè)人博客的好處,我就不贅述了莱褒。我自己比較贊同的Hexo的一個(gè)優(yōu)點(diǎn)是博客內(nèi)容是以純文本記錄的击困,可以比較好的保存及遷移。
建站步驟:
主要分為三部分:
以下為具體操作:
注冊github賬號并建立倉庫(Repsitory):
進(jìn)入github官網(wǎng)注冊賬號并建立以username.github.io為名的倉庫(Repository),username部分必須與注冊的用戶名完全相同(githubzhi只為每個(gè)用戶提供一個(gè)個(gè)人網(wǎng)站)保礼。
本地安裝配置nodejs及hexo:#
安裝nodejs(官網(wǎng)給了好幾種裝發(fā)沛励,各種安裝帖里也列出了多種裝發(fā),此處為我自己安裝成功的方法):
~$curl -sL https://deb.nodesource.com/setup_7.x | sudo -E bash -
~$sudo apt-get install -y nodejs
安裝hexo:
安裝:
~$sudo npm install hexo-cli -g
~$hexo init blog
~$cd blog
~/blog$sudo npm install
~/blog$sudo npm install hexo-deployer-git --save
~/blog$hexo server
配置:
編輯 /blog/_config.yml文件
配置網(wǎng)站名稱等炮障;
-
配置Deployment
deploy: type: github repository: https://github.com/username/username.github.io.git branch: master
新建CNAME文件: 在/myblog/public目錄下新建CNAME文件目派,文件內(nèi)容很簡單,就是自己購買好的域名胁赢。
發(fā)布:
如何寫博客內(nèi)容就不贅述了企蹭,主要就是用Markdown文本寫好內(nèi)容,放到myblog/source/_posts/文件夾下智末。
發(fā)布博客分兩步:
-
生成靜態(tài)網(wǎng)頁:
~/blog$hexo g
-
向github推送:
~/blog$hexo d
此時(shí)谅摄,應(yīng)該就可以通過username.github.io.git訪問網(wǎng)站了。
注冊域名并與github綁定(可選)
如果有購買好的域名系馆,在購買域名的網(wǎng)站上對域名解析添加兩條CNAME記錄送漠,講購買的域名解析到username.github.io.git.
此時(shí),應(yīng)該可以通過購買的域名訪問網(wǎng)站了由蘑。
注: 如果要從不同電腦更新博客闽寡,可參見另一種做法.不過我在實(shí)踐是遇到了幾個(gè)問題,一是npm install hexo-deployer-git應(yīng)該為sudo npm install hexo-deployer-git --save,不然在hexo d的時(shí)候會(huì)出現(xiàn)無法找到git的情況尼酿;二是執(zhí)行完4.2.5之后.git就會(huì)消失爷狈,我采取的辦法是在別的地方克隆倉庫,再把.git拷貝進(jìn)來裳擎。后來才發(fā)現(xiàn)原作者說最開始克隆完倉庫就是拷貝一份再進(jìn)行后面的操作涎永。