阿里云OSS部署Hexo教程

首發(fā)于羽毛工作室官方博客——和有趣的人做盡有趣的事!

如果你也想搭建自己的個(gè)人博客(效果類似于你現(xiàn)在看到的這樣)那么這篇教程非常適合你。

成本極低,.com域名70/年,阿里云OSS的數(shù)據(jù)拉取成本也是按量的(約0.12元 /GB/月)

為什么不用WordPress?

14年的時(shí)候我折騰過(guò)一段時(shí)間WP。技術(shù)層面,后端運(yùn)維方面,包括響應(yīng)式主題的選擇等等。給我留下非常不好的體驗(yàn),失敗告終。常言道,跌倒后要學(xué)會(huì)繞開(kāi)。所以這次我選擇了更加快速、簡(jiǎn)潔且高效的博客框架HEXO類似于jekyll,本質(zhì)上都是支持markdown的靜態(tài)H5頁(yè)面生成器。不需要數(shù)據(jù)庫(kù),只要把生成的博客放到對(duì)應(yīng)的目錄即可。這就意味著它擁有其他博客系統(tǒng)無(wú)法比擬的低負(fù)載與高速度的特性。也極大的降低了后端的運(yùn)維成本。

為什么不用jekyll?

jekyll用的liquid語(yǔ)法,確實(shí)對(duì)我這種業(yè)余前端程序員不是很友好。雖然jekyll功能比hexo強(qiáng)大很多,但仔細(xì)思考一下,我并沒(méi)有時(shí)間折騰它。

如何搭建HEXO?

感謝zjufangzh分享的hexo史上最全搭建教程! 確實(shí)讓我省了不少時(shí)間。

(一)安裝Git、安裝Node.js

1、到Git官網(wǎng) 直接點(diǎn)擊Download下載
ps:一開(kāi)始我并沒(méi)有下載git。因?yàn)闆](méi)有版本控制的需求,個(gè)人使用整的那么專業(yè)干嘛。多一事不如少一事。直到后面 ' $ hexo init blog ' 的步驟中,不斷報(bào)錯(cuò) git clone failed. Copying data instead 我才意識(shí)到 win10的cmd工具多么不給力。相比較之下,Git Bash的命令行工具太香了。在博客文件根目錄右鍵 Git Bash Here 也可以很方便的操作部署以及新建文章。

2、Hexo是基于nodeJS編寫(xiě)的,所以需要安裝一下nodeJs和里面的npm工具。方法很簡(jiǎn)單,在 node.js官網(wǎng) 選擇LTS版本就行。推薦使用Windows Binary (.zip) 免安裝版。因?yàn)閃indows Installer (.msi) 安裝版過(guò)程中需要拉扯數(shù)據(jù)。沒(méi)有科學(xué)上網(wǎng)環(huán)境,過(guò)程非常心驚膽戰(zhàn),可能會(huì)失敗。
值得注意的是,(.zip) 免安裝版解壓后需要手動(dòng)配置環(huán)境變量。百度一下“node.js 配置環(huán)境變量”有很多教程,非常簡(jiǎn)單。

3、檢驗(yàn)安裝成功
win+r 運(yùn)行 cmd 輸入:

$ node -v
$ npm -v    

正常提示版本號(hào),及安裝成功。
以后就可以直接使用git bash來(lái)敲命令行了,不用自帶的cmd,cmd確實(shí)難用。

(二)安裝HEXO

1、確保前面git和nodejs安裝好后,電腦任意位置,創(chuàng)建一個(gè)文件夾blog(名字你說(shuō)了算,保險(xiǎn)起見(jiàn)最好是英文小寫(xiě)),在這個(gè)文件夾下直接右鍵Git Bash Here
輸入:

$ npm install -g hexo-cli

耐心等待一下,安裝完成,再次出現(xiàn)$符提示可以輸入指令時(shí)。就是安裝好了。這時(shí)輸入:

 $ hexo -v

正常輸出提示版本,表示大功告成。

(三)創(chuàng)建自己的博客

接下來(lái)的部分就可以參考 hexo官網(wǎng)說(shuō)明文檔

$ hexo init blog            // 新建名為blog的博客根目錄
$ cd blog                   // 切換至blog博客文件根目錄
$ npm install           // 初始化 生成依賴文檔及文件結(jié)構(gòu)
$ hexo server           //  本地調(diào)試模式

至此,在瀏覽器輸入localhost:4000,就能看到令人心動(dòng)的博客了。
使用ctrl+c可以把本地調(diào)試模式關(guān)掉。
記得備份blog根目錄文件,以便不時(shí)之需。

之后關(guān)于blog文件夾下的常用操作

$ hexo new "新文章標(biāo)題"      // 新建文章
$ hexo clean                            // 清除舊public文件夾(博客靜態(tài)目錄)
$ hexo g                                // 生成新public文件夾(博客靜態(tài)目錄)
$ hexo d                                // 部署至指定服務(wù)器(參考第五步)

(四)阿里云oss相關(guān)設(shè)置

這部分不打算展開(kāi)細(xì)講了。一方面因?yàn)榫W(wǎng)上能搜到很多阿里云OSS如何創(chuàng)建Bucket(存儲(chǔ)桶)教程,包括阿里云官方的新手說(shuō)明文檔 也非常白話。另一方面阿里云的后臺(tái)總是升級(jí)功能界面,寫(xiě)出細(xì)節(jié)也未必能做到手把手的效果。

分享一篇博主Scoful寫(xiě)的:如何將hexo靜態(tài)博客部署到阿里云OSS上(我就是看了這個(gè)開(kāi)始折騰的)

我個(gè)人的經(jīng)驗(yàn)(踩過(guò)的坑)
1、新建解析在域名控制臺(tái)(原萬(wàn)網(wǎng))

2、創(chuàng)建新Bucket時(shí),記錄名稱和位置(例如,華北2-北京)后面第五步部署時(shí)會(huì)用到。忘記了也沒(méi)事,可查。

3、Bucket權(quán)限記得設(shè)置公共讀(不是私有、更不是公共讀寫(xiě))

4、Bucket基礎(chǔ)設(shè)置-靜態(tài)頁(yè)面設(shè)置。設(shè)置默認(rèn)首頁(yè)index.html、開(kāi)通子目錄首頁(yè)、文件 404 規(guī)則 選Redirect

5、不著急弄cdn加速,費(fèi)錢(qián)不討好,cdn緩存刷新規(guī)則設(shè)置不好,會(huì)導(dǎo)致部署后網(wǎng)站沒(méi)變化,讓你懷疑自己是不是操作失誤。

6、不著急弄https協(xié)議,靜態(tài)頁(yè)面沒(méi)有交互。多此一舉反而可能出現(xiàn)錯(cuò)誤。

7、關(guān)于網(wǎng)上各種教程說(shuō)需要修改hexo代碼適配oss訪問(wèn)規(guī)則,解決將index.html從url中顯示的問(wèn)題。都是歷史遺留問(wèn)題了。之前阿里云沒(méi)有子目錄首頁(yè)的功能,現(xiàn)在有了,只需要開(kāi)通子目錄首頁(yè)就可以符合hexo生成的靜態(tài)目錄結(jié)構(gòu)。(敲黑板)public文件夾內(nèi)的全部文件(不是把public文件夾直接拖拽),直接上傳到阿里云oss的Bucket根目錄(不要放在二級(jí)目錄里)這樣就可以了。并不需要修改hexo代碼適配oss訪問(wèn)規(guī)則。2021/01/31 14:23:01 親測(cè)有效。

8、下載并安裝官方ossbrowser客戶端

(五)阿里云OSS一鍵部署工具

感謝猿宵的分享:《hexo阿里云OSS一鍵部署工具h(yuǎn)exo-deployer-ali-oss使用說(shuō)明》 為了提供了很大的幫助。具體操作非常簡(jiǎn)單。

1、在您的hexo項(xiàng)目目錄(blog目錄)下執(zhí)行:

$ npm install hexo-deployer-ali-oss --save

耐心等待安裝完成。

2、打開(kāi)hexo項(xiàng)目目錄(blog目錄)找到配置文件_config.yml 打開(kāi)修改(近文件末位置)

deploy:
      type: ali-oss
      region: <您的oss 區(qū)域代碼>
      accessKeyId: <您的oss  accessKeyId>
      accessKeySecret: <您的oss accessKeySecret>
      bucket: <您的bucket name>

(1)其中,您的oss 區(qū)域代碼,指的是阿里云Region(我有提醒你記錄,記得嗎?哈哈哈)
官方說(shuō)明文檔 阿里云Region和Endpoint對(duì)照表中可以查看。
例如:我的Bucket概覽中顯示為 華北2(北京)對(duì)應(yīng)的值即 oss-cn-beijing

(2)其中,您的oss accessKeyId 和 oss accessKeySecret 指的是登錄官方ossbrowser客戶端時(shí)輸入過(guò)的兩組串碼。在官方文檔安全信息管理中可以查看。需要短信驗(yàn)證碼。

(3)其中,您的bucket name ,即為創(chuàng)建Bucket的名稱(我有提醒你記錄,記得嗎?哈哈哈)
和區(qū)域代碼一樣,在阿里云oss后臺(tái) Bucket列表中可查

(4)修改時(shí)要去掉尖括號(hào),最終格式如下

deploy:
      type: ali-oss
      region: oss-cn-beijing
      accessKeyId: accessKeyId
      accessKeySecret: accessKeySecret
      bucket: bucket name

至此之后,一鍵部署到阿里云oss就設(shè)置好了。以后修改了hexo項(xiàng)目目錄(blog目錄)后,只需要輸入:

$ hexo d

即可將項(xiàng)目部署到阿里云oss中的bucket的根目錄下。

寫(xiě)在最后的話。

從最終的結(jié)果來(lái)看,你會(huì)發(fā)現(xiàn)一切努力都是值得。過(guò)程中可能會(huì)踩各種坑,但是別焦慮。有百度可以幫你,相信你遇到的問(wèn)題,有很多人都遇到過(guò)。技術(shù)難題別來(lái)問(wèn)我,我也是個(gè)半吊子。但還是非常愿意和你閑聊交流經(jīng)驗(yàn)的。歡迎騷擾。

感謝zjufangzh分享的hexo史上最全搭建教程! 后半部分hexo的基本配置,更換主題等等內(nèi)容,我還沒(méi)時(shí)間啃。等我研究后,會(huì)把自己的經(jīng)驗(yàn)(踩過(guò)的坑)也補(bǔ)充進(jìn)來(lái)。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容