與虛擬主機有關的幾件事

從我開始使用 WordPress, 就一直與朋友合租美國的共享虛擬主機。那時 VPS 還不是很流行,而且價格不夠親民,對於我們這些只是玩玩 WordPress、寫寫 blog 的人來說,租用 VPS 有些殺鷄用牛刀的感覺。現在雖然 VPS 早已流行,價格也與虛擬主機差不多甚至更便宜,似乎讓人沒有理由拒絕,但我們還是決定給虛擬主機續費,而不是轉用 VPS.

不選擇 VPS 的原因

我們購買主機只是為了放置自己和幾位朋友的 blog,偶爾測試新的網絡應用,只要服務器端有足夠好的 LAMP(Linux+Apache+MySQL+PHP)環境即可,沒有必要使用功能強大的 VPS. 更重要的是,我們幾個合租者要想把一個新的 VPS 配置出專業主機那麼好的性能,即便是有可能,也要費很大力氣。即使現在配置得很好,日後的安全維護等等也很耗精力,從短期和長期的時間投入來看都不值得,不如直接購買現成的服務。至於為何沒有選擇 Amazon AWS, 差不多是同樣的原因,而且我一直弄不明白 AWS 複雜的計費方法。最後一個原因是,我在自己的兩臺電腦上安裝了三個主流操作系統,完全沒有必要用 VPS 做各種測試。

感歎 blog 的衰落

續租主機之後,我今天終於有空打掃清理主機,把該搬家的網站搬家,該删除的網站删除。沒辦法,有潔癖,看著一點點多餘的東西就想清理,也不想讓已經廢棄的網站佔用資源。

過去幾年,我幫助一些朋友打理 blog 或者網站, 有些甚至從購買域名到搭建網站再到日常維護全包。其中既有個人 blog, 也有公益項目的官方網站或官方 blog. 幾乎都用 WordPress 搭建,並不耗費時間,還能幫助和鼓勵一些朋友多寫多分享,我樂此不疲。

可是這幾年,我每年都要從主機上删除至少一個網站,而今天更是删除了五個之多,這讓我有些惆悵。因為這些個人 blog 不再更新,這些公益項目無限期按了暫停鍵,且不知未來何時重新啟動。這種惆悵又一次引起我關於 blog 衰落的老生長歎,以及對 blog 黃金時代的懷念。懷念歸懷念,但那終究是一個只能讓人懷念的歲月了,每個親身經歷過的人從中學習成長,它的痕跡留在每個 blogger 身上。無論個人接受與否,blog 衰落而 cloud 崛起,從長遠來看也未嘗不是件好事。老朋友 Danny 說得好,你要接受這些事物的消失……我因此總是問自己,是否對互聯網投注了太多理想主義?

讓 blog 擁抱靜態網站

續租主機之後,我自己的 blog 卻並未繼續使用虛擬主機,而是用 hexo 在本地生成靜態網站,之後佈署在 GitHub Pages. 這麼做純粹是出於安全考慮,因為動態網站有更多安全問題,也因為我相信 GitHub 的技術和安全比虛擬主機更可靠。之所以繼續租用這臺自己用不到的主機,主要是因為我幫忙打理的其他 blog 要繼續使用 WordPress.

去年底,我有幾個月時間不能管理 blog 和主機,當我重新打開它們的時候,發現早已被木馬感染,致使主機服務商暫停了我的 blog。這件事讓我覺得動態網站不僅臃腫麻煩,而且容易引發安全問題,於是萌生了使用靜態網站的想法。今年初恢復 blog 時,我考察了許多方案,當然包括現在最流行的 Jekyll/hexo/farbox 等平臺。不知是何緣故,當時竟然沒能弄懂 Jekyll 和 hexo 的工作原理,覺得太麻煩太 Geek 範兒而放棄之。也沒想到,今天重讀 hexo 的文檔,一次性全部看懂了基本操作和配置,也許過去幾個月正是學習的「平臺期」吧。

hexo 的官方文檔已經非常清楚,但有兩點好像未提及,卻又非常重要,記錄在此備忘。

  1. 使用 hexo-migrator-wordpress 插件,導入 WordPress 的文章之後,如果原來的文章標題是中文,則所有導入的文章標題會變成十六進制格式。如果想讓它們變回中文顯示,可以用網友 Coande 提供的這個腳本完成。

  2. 在 GitHub Pages 綁定域名時,需要在根目錄放入 CNAME 文件聲明域名。直接在 hexo 的 /source 文件夾內創建 CNAME 文件並寫入域名,則可以保證每次 hexo generate 之後,CNAME 文件都會出現在 /public 文件夾中,這樣才能在每次 hexo deploy 時保留 CNAME 文件,否則這個文件會在 hexo deploy 之後消失。

有人曾經以為,「人們不再愛寫作了,是因為寫作工具不好用」。並為此花費大半年時間開發了新的寫作工具,後來發現寫作愛好者並不缺少工具,而自己創造的新工具也沒有解决任何問題。每當我想起這個故事,就覺得自己花費許多時間琢磨 blog 工具真是閑的。