博客遷移至HUGO

個人博客從09年開始到如今已經度過了十一個年頭,雖然更新的頻率變慢了,但也仍是一直在堅持輸出力求可以幫助到你們。本站最先使用過 ASP 的 PJBlog 到以後大名鼎鼎的 WordPress,以後在 2011年 的時候遷到了 Typecho 一直到如今。html

由於多年的數據和主題修改沉澱,我一直懶得更換程序,甚至是本身開發的 Node.js 博客系統 Firekylin 也沒有激發我把主站遷移過去。不過隨着網絡環境的不穩定性,我也在慢慢尋找一些比較靠譜的備份和快速遷移的方式來下降博客的運維成本。git

數據庫和Docker

如今最方便的部署方式就是容器了,因此我第一個想到的就是將博客容器化。由於 Typecho 可能會有圖片上傳等用戶數據產生,因此比較合理的鏡像方式是爲 Typecho 程序製做鏡像,同時將用戶數據掛載到本地。github

數據庫則選擇購買了阿里雲專門的數據庫服務,下降數據庫這塊的人工維護成本。這樣維護的成本就變成了只要定時備份用戶上傳文件便可。可是隨之又帶來了新的問題。數據庫

數據庫服務貴很差用

首當其衝的就是數據庫服務的成本問題,最低配版套餐都要好幾百,基本等同於一臺主機的價錢。人工運維成本是下降了,可是金錢運維成本直接加倍!並且跨主機商只能使用外網鏈接,雖然都是同地區服務,可是鏈接意外的慢。致使主站打開須要好幾秒,大大下降了用戶體驗。網絡

機器性能要求高

而後容器對機器的性能也有必定要求。我一直在使用 1核2G 的低配機器維護着個人網站。因爲我維護的站點比較多,使用上容器以後發現機器扛不住。換成了 2核4G 以後好一點了,可是金錢運維成本再次加倍!運維

鏡像構建困難

最後實際上是容器構建這塊的成本。由於手上不少的老站都是使用 PHP 開發的,以前只是單純的用這些程序。如今爲了製做鏡像,須要去看程序的基礎依賴。wordpress

另外還有一些老程序是破解版的,不太適合放 Docker Hub 上,尋找一個可讓我託管私有鏡像的地方也廢了我很多時間。以前一直沒關注過這塊,很早以前知道的幾個作容器服務的要麼不作了,要麼就是改爲收費了。後來發現其實 Github 就能直接託管鏡像,這才方便了點。typecho

總的來講容器的雖然下降了遷移的成本,可是目前看來性價比不高,想要更好的服務勢必要投入更多的資金才行,對我來講有點捨本逐末。性能

靜態部署

同時爲了下降個人其它站的運維成本,考慮以後決定將一些不使用的站進行靜態博客處理。保留了存檔的功能,同時下降了維護成本。主要是如今有不少的免費服務支持靜態網站部署。好比我以前在用的 Vercel,很好的提供了對靜態博客的支持。在挑選程序的時候發現 Hugo 上我如今在用的主題已經有人實現了 TwentyFourteen,這個主題是我很早以前從 WordPress 的默認主題上遷移過來的。性能很是好。遂就使用它將其餘的一些站進行了遷移。網站

只須要在 Vercel 上使用 Import Template 的形式建立項目便可。輕輕一點它便會自動幫你建立 Github 倉庫,分配域名,添加證書,最後自動部署上線。而後我再把倉庫克隆下來,把導出的舊數據挪進倉庫提升一下便可。Vercel 會自動觸發更新的流程。

不論是人力成本,金錢成本,還有數據備份成本上來看,這種方案都達到了最低方案。特別在 Github 給我的開放了無限的私有倉庫以後,你連數據隱祕性都不須要考慮了。因此在遷移了四五個老站以後,我看着生下來的主站,決定一不作二不休一塊遷移得了。

後記

關於如何進行遷移我以後再單獨寫一篇文章來說。遷移以後運維成本直接消失,不只構建快並且頁面訪問速度也快,一個字香!以前 Typecho 的 Markdown 格式一直不支持表格語法,換了以後沒有這些問題了。不過也不是說沒有缺點,以前其實用 Typecho 的後臺寫文章很是方便,如今換成 VSCode 以後在快捷方式上沒有網頁的好用,以後再考慮作個單獨的發佈頁吧。

相關文章
相關標籤/搜索