提供幾個查核點,協助已有網站的老闆們判斷,是否適合使用該主機再架設出 WP 站,或需要更換主機。當然,也可提供給要直接架設 WP 網站的人參考:
WordPress 是基於 PHP 程式語言及 MySQL 資料庫所開發出來的架站平台,所以只要主機支援 PHP 及 MySQL,就可以跑 WP。
但是累積了自己使用、並協助一些客戶處理問題的經驗後,發現一些主機方面的機能細節,仍會對日後使用有所影響。
並多去看了一些國外對此問題的文章,稍加彙整。
微軟主機或 Linux 主機
WordPress 是基於 PHP 及 MySQL 所開發的 (多數的 Open Source 軟體都是),而 PHP 及 MySQL 原是為 Linux 開發的。微軟過去的 ASP, MSSQL .NET 跟這條路線是對立的,只是之後大象抵不過螞蟻兵團,因此後來的微軟主機也都可以跑 PHP 及 MySQL 了。
所以對 WordPress 來說,可在 Linux 上跑、也可在微軟主機上跑。
差別在 PHP 及 MySQL 均原生於 Linux,所以有些小地方的做法是較基於 Linux 特性的 (例如 cron 定時功能);當然,微軟也多會有一些對應的做法。只是碰到 WP 及網路主機問題要查解答時,就全球觀點來看,網路上的資源絕對是 Linux 完勝。(微軟也有一些 全盤靠攏 Linux 的做法,唯這應該被視為開發工具,不應視為實用線上平台。)
若不確知自己目前採用的主機系統,就看一下主機商所提供的主機管理系統是啥。若是 Cpanel,那多數就是 Linux;若是 Plesk,則多數是微軟主機 (雖然彼此都已能跨平台安裝,但似乎過去業界有他們的安裝生態)。另有一些廠商獨立開發的管理系統,我則不敢講。
對主機的要求:若同一主機還有一些必要的 ASP, .NET 的程式在跑,就基於微軟主機架出 WP 網站無妨。否則若有機會乾淨開始,就挑選 Linux 吧。
PHP 版本
若是客戶舊站係採 PHP 建置的,多數這幾年來不曾升級 PHP。然而 PHP 和所有成功的軟體一樣,也是不斷在演進,不斷在拋棄過去舊包袱的。 (請參考此圖表 http://php.net/supported-versions.php)
PHP 5 後來略過 PHP 6 直接進 PHP 7,表示這是大躍進,但也造成了一道障礙。許多的程式進了 PHP 7 後不相容,只好退回採用 PHP 5。WordPress 一向注重 backward compatible (與舊版的相容性),因此許多地方遷就 PHP 5 在開發,也相對阻礙了自己的進步。近日 WP core 團隊已做了決定,接下來會更朝 PHP 7 的環境發展,提醒大家要加速朝 PHP 7 搬移。(參考一下上述 PHP 圖表,能不加速嗎?)
對主機的要求:可以自行設定 PHP 的版本,已是近來的主機服務趨勢 (可在 CPanel 裡自行設定如下)。目前 (2017-05) 建議的架設 WP 網站的做法是,先架設於 PHP 5.6,待所有外掛插件確定並整合 OK 後,一次檢測能否在 PHP 7 上跑,再做是否移至 PHP 7 的定奪。
PHP 的參數
許多主機商 (尤其是 shared hosting) 擔心單一程式用掉太多的程式資源,會影響到其他人的使用,因此對 PHP 所採用的的參數限定,並不讓客戶調整。(或者說僅供應其 PHP 的安裝預設值,事後不讓客戶自行調整)
跑 WordPress 網站時,這些一般的參數設定是 ok 的。但是,當遭遇下列狀況時,是必須透過調整 PHP 參數的大小才能解決的:
- 選單 (Menu) 的數目多到有些離譜,導致存不下來甚至選單亂掉。 (通常是公家機關或大單位才會碰到)
- 需要利用 http 上傳 (WP 前台上傳) 較大的檔案到 WP 主機,結果永遠無法上傳。
- 需要匯入佈景主題的展示資料,但一直匯入失敗。 (這是談此題目的重點,因為參考展示資料對加速網站建置有極大助益)
- …
對主機的要求:主機 Cpanel 能提供調整 PHP 參數的畫面,或最差是連繫主機技術支援後可代為調整。Cpanel 所提供調整 PHP 參數的畫面,大致如下:
MySQL 資料庫
基本上 WordPress 網站只需用到一個 MySQL 資料庫。所以若採用的主機方案僅提供一個 MySQL (或僅剩一個 MySQL 可用),其實是 ok 的。
我們會談到資料庫的數量,主要是因為考慮日後的維護作業。如果能多一個 (只需要再多一個) MySQL 可供使用,日後進行升級檢測、備援回復時,可以事半功倍。
對主機的要求:盡量不要用只提供一個 MySQL 的方案。
SSL 的機能
曾看過文章提到,WordPress 將會逐步增加一些功能,僅在 SSL 的主機才能使用。(一下子找不到這些資訊,等找到再補上)
這個問題,短期對形象網站應不算緊急,除非是架 e-commerce 或有大量會員的站。
對主機的要求:能輕易增設 SSL (最好不要太貴,不然就得從別人家買 certificate)
其他一般對主機的需求
至於其他一般對主機的要求,例如 CPU、記憶體、頻寬等,或客服支援、價格等,各家主機方案各異。此外,還需留意一些潛在限制,例如有的主機方案對檔案總數設限、有的對資料庫總 table 數設限。以上總總,並不因採用 WP 或不採用 WP 而有差異,請以網站特性斟酌,或多找專業探討。
對主機的要求:有較簡易合理的升級模式,以利日後視需要增購。
Shared hosting? Reseller hosting? Managed WP hosting? VPS? Dedicated hosting?
簡單一點來看,我們只先看中小企業、甚至微型企業的需求。在這個思考下,談 VPS 或 Dedicated hosting 都是日後網站已十分成功以後的事,因此我們暫擱不表。
Reseller hosting 對做一名小莊家來說,看似很划算,但其實每個被切割的網站資源通常很受限;若您僅是被分到的一個網站,很容易觸及限制。建議還不如自己獨立租一個 Shared hosting,至少較容易視狀況成長。
在國外,專門針對 WordPress 的主機管理越來越風行 (Managed WP hosting),因此若網站是針對 global 訪戶要架在國外,較理想的路徑是在 Shared hosting 不敷使用時,轉成 Managed WP hosting (不建議轉 VPS,何必自找麻煩去管一些難管的系統底層呢?)。
國內廠商專門針對 WordPress 的主機管理,觀念好像才剛起步。讓我們繼續宣導下去,看是否會改觀吧。目前來說,只要找到對 Linux 經驗不錯的主機商,就安心一半了。
總結
本文探討的主機範疇,以一般的主機商所提供的方案來思考。這些主機商的特性是,所採用的工具多係一些通用的工具,因此較有共通的語言方式來評比。若要論及近幾年興起較大咖的主機方案,例如 Amazon, Google 或 Alibaba 的方案,可能需待我們多一些經驗後,才能加進來思考。
整理這篇時,一直提醒自己少參入個人的主觀因素,但是真的難免。無論主觀或客觀,只希望對採 WP 架站的人有幫助。