歷時25天,我的部落格(www.ityouknow.com)終於又活了過來

純潔的微笑發表於2018-06-12

時間回到2016年的7月10號,那時候我剛剛開始正式在部落格園寫部落格,部落格園的交流氛圍很好,但鑑於部落格園古老的介面,同時計劃建立一個自己獨立的部落格,畢竟自己的部落格怎麼折騰都行。

那時候正在研究 Spring Boot ,正是開源專案雲收藏的啟動階段,在網上找 Gradle 的使用方法,在 Github 上發現一個比較好的學習資源:Gradle User Guide 中文版,看完之後順便檢視了一下作者的 Github 主頁,發現有一個 Jekyll 主題 Yummy Jekyll Theme

通過這個連結我開啟了作者的部落格,發現這個部落格主題簡潔、大方,整體淡藍色的風格深受我的喜歡。下圖是它最初的模樣:

歷時25天,我的部落格(www.ityouknow.com)終於又活了過來

後面我根據自己的情況,做了一些定製,就成了現在的樣子:

歷時25天,我的部落格(www.ityouknow.com)終於又活了過來

剛開始接觸 Jekyll 的時候對它並不是很瞭解,Markdown 語法也只是停留在”聽說過“這個階段,看到這個主題後,花了一點時間嘗試著按照它的語法寫了一篇文章,發現有一種用敲程式碼的方式去寫文章的感覺,文章渲染之後的效果也很好。掌握了這個技能之後,我的寫作利器就成了 Sublime text 3 + Markdown 元件 + Github + Jekyll。

就這樣開啟了我個人部落格之旅,剛剛開始幾乎沒有什麼流量,每天幾個人訪問,到了後來慢慢多了起來,一天幾百人訪問到幾千人訪問。後來給部落格新增了流量統計,發現很多流量都是通過谷歌過來的,百度搜尋流量為0。網上查了一下原因:早些年百度還是可以爬取 Github 上面的內容,後來由於百度的爬蟲太猛還是什麼原因,反正最後讓 Github 官方感到很不爽,於是 Github 就把百度給遮蔽了。

在中國絕大部分都使用百度搜尋,因此就白白損失了一大部分流量,網上有很多的解決方案,比如部署兩份根據域名解析選擇走國內還是國外,或者直接使用 Coding.net 來託管部落格,但 Coding.net 託管的部落格總是有它自己三秒廣告,讓人很噁心。其它方案也都很複雜,後來就放棄了。

在使用一年多後的一天也就是2017年的8月,提交新文章時突然收到 Gitub 返回的郵件報編譯錯誤,自己花了很多時間去找原因,甚至去V2ex求助,給主題作者發郵件都無果,後來嘗試著給 Github 官方發了幾封郵件,才明白可能是 Github Page 升級了相關元件包,導致提交的版本不相容編譯出錯,最終折騰了一番終於解決了這個問題,具體解決過程可以看這篇文章:千里追蹤部落格之殤

經歷過這個事情之後,就想萬一以後 Github Pages 再升級元件,會不會又面臨此問題。加上 GitHub Pages 又不能被百度搜尋引擎抓取,於是想換一種思路來解決這樣的問題。Jekyll 是靜態部落格,最終給大家訪問的頁面都是生成的靜態 Html,就計劃在本地將 Jekyll 部落格編譯成 Html 檔案,打包後手動上傳到伺服器的 nginx 下面不就行了。

說幹就幹,在本機折騰了兩天終於搭建好了環境,使用 Jekyll 命令可以在本機新建、預覽、編譯部落格,非常方便。恰好我在國外有一個雲主機,就找時間在上面部署了一個 Nginx, 再加上快取什麼的設定,就將打包好的靜態頁面上傳了上去,域名指向重新做了配置,訪問了一下妥妥的。過程雖然稍顯麻煩,但解決了百度搜尋引擎和 Github Page 元件升級的問題。切換之後沒過多久,部落格的日均訪問量到了1.5W左右。

部落格託管到國外的雲主機之後,寫作流程就變成了這樣:每次寫完部落格在本機電腦打包成 Html,再壓縮上傳到雲主機,登入到雲主機上面將壓縮包解壓覆蓋,然後完工。雖然比起以前複雜了很多,但是流量多了一些也忍了。直到前一個多月的時候,發生了兩件事情,促使我決定要把部落格搬回到國內。

有一天在上班,突然群裡有個小夥伴說,你的部落格怎麼訪問的時候那麼慢,需要5分鐘才能開啟頁面,我說可能是你們那邊網路的問題吧,也沒太在意,過了兩天不斷有人跟我說這個事情,我才意識到應該不是區域性網路的問題。開瀏覽器的除錯頁面跟蹤了一下慢的原因,發現使用國內公共 CDN 的 js、css 需要一分鐘甚至更長時間,繼續跟蹤發現只要是國內的資源載入起來都非常的慢。想起這兩天的 Vpn 也不穩定,才明白開會期間可能對網路採取了管制,導致部分資源受限,於是修改部落格資源都從本地讀取,完成之後部落格的訪問速度迴歸到了正常。

過了幾天北京這邊又開一個更大的會,有幾天的時間我的部落格直接就不能訪問了。看來只要北京開會,我的部落格肯定就會出現不穩定的情況,原因就是因為我使用了國外的雲主機。另外想給網站加一些功能,比如QQ登入什麼的,都有一個前提條件必須有備案。恰好騰訊雲那幾天在做活動,就買了一個雲主機,準備將部落格從國外搬回到國內,沒想到又掉進了另外一個坑。

備案需要25天!

歷時25天,我的部落格(www.ityouknow.com)終於又活了過來

我在5月11號在騰訊雲提交的備案請求,因為需要填表、照相花費了大概一週的時間,將所有的資料初審完成之後,騰訊雲客服通知我說,網站在備案期間必須關閉,不然有可能備案不通過。沒辦法那段時間只能將域名解析關閉掉,同時將部落格連結到:www.mooooc.com,在備案的期間,天天有網友給我留言、發郵件或者微信、QQ溝通說是不是我的部落格掛掉了,每天給大家解釋真的是心累。

眼看著一週過去了,兩週過去了,備案還是沒有下來,我隔兩天就登入系統看下情況,終於在6月4號下午收到了備案通過的通知:

歷時25天,我的部落格(www.ityouknow.com)終於又活了過來

其實我到現在也想不通,就那麼一點點資訊,為什麼備案需要20個工作日,效率低的讓人崩潰。

在備案的同時,我在騰訊雲主機上搭建了 Jekyll 、git 環境,同時寫了一個簡單的腳步,執行腳步會自動從 Github 拉取增量程式碼並打包到 Nginx 的目錄下,同時利用 linux 的 crontab 做了一個定時任務,每天晚上定時同步一次,這樣以後釋出文章就簡單了,我只需要將程式碼提交到 Github 上面,剩下的工作就讓定時去操作了。

另外如果你想了解如何去寫部落格,可以參考這篇文章:技術部落格那些事兒

相關文章