.st0{fill:#FFFFFF;}

伺服器控制面板初探 – CloudPages vs ServerAvatar 

前陣子看到臉書社群關於伺服器控制面板 (Server Management Panel) 的討論吸引了我的注意,因為透過這類工具,我們可以自行跟主機商租購主機並透過控制面板提供的功能管理 WordPress 或其他以 PHP 為基礎的網站。

如此一來,對於進階架站者來說就不需要仰賴雲端主機託管商代為管理主機,可以省下不少管理費用並且提高主機的效能。

正因為 CloudPages 剛發布、銷售 LTD,而 ServerAvatar 也有 LTD 的銷售活動,趁著這個機會我也利用了廠商提供的試用、免費方案,進行了一些初步測試:

  • DigitalOcean 的兩個月美金 $100 試用額度 (需提供信用卡資料)
  • CloudPages 提供註冊 7 天內 Agency 方案的免費試用 (無須提供信用卡資料)
  • ServerAvatar 提供美金 $10 元的免費試用額度 (無須提供信用卡資料)

關於伺服器控制面板

一般來說,這類伺服器控制面板工具最主要的目的是用來大幅降低管理伺服器時需要的「人工」作業,透過控制面板可以將大量的伺服器管理操作給「模組化」、「自動化」。

而隨著時間這類工具的發展也從本地安裝到網頁服務,網頁的 UI、UX 更逐漸朝向輕巧、簡單、易懂的方向發展,希望能更貼近一般架站者。

主機、伺服器管理的入門門檻其實還是不低的,想要透過控制面板 Panel 大幅降低雲端主機託管商 (例如:Cloudways、BlueHost 等) 費用的同時,也需要考量可能衍生的網站安全管理問題了。

CloudPages 跟 ServerAvatar 目前提供的安全性管理功能包含:

CloudPages

  • ModSecurity
  • Firewall
  • Bubblewrap
  • reCAPTCHA

ServerAvatar

  • Isolated Environment for Each Site
  • Two-Factor Authentication
  • ModSecurity (Roadmap)
  • Fail2Ban (Roadmap)
  • 6G/7G Firewall (Roadmap)

而從 WordPress 網站的角度來看,外掛、佈景主題等潛在的安全性風險則是網站站長原本就需要特別注意的。

CloudPages vs ServerAvatar

如前面說的,開始真正投入研究伺服器控制面板就是從社群中 CloudPages 的評測文章開始,主要就是對短時間內數百個訪客流量的「壓力測試」成果感到相當驚豔,不過進一步了解後也發現主要的效能提升關鍵點還是在於:

CloudPages 是提供「LiteSpeed 快取技術」的控制面板!

而 LiteSpeed 是屬於「伺服器層級」的全網頁快取技術,能直接與底層技術架構溝通並快速回應訪客的存取需求。其他控制面板品牌大多還是提供主流、老派的 Apache、NGINX。

說老實話,這類 Panel 評測拿 LiteSpeed vs NGINX 技術相比,有點像是拿不同時代的科技技術比較,雖說有些勝之不武,但確實是可以引起大家對新技術關注的好方法。

因為 CloudPages 還在發展的初期,操作介面相當迅速,但不少功能的 UX 設計還沒到位,很常會讓人在功能選項之間按來按去、尋找需要的內容,雖然提供可以迅速、方便在控制面板管理 WordPress 網站佈景主題、外掛的更新、啟用、停用與移除等功能,但整體對於進入網站管理頁面的路徑與邏輯並不是很明確,還有待未來開發團隊的重新調整。

而某些相當關鍵的功能也都還在 Roadmap 中,尚未開發出來,例如:網站備份、重置。

也因此,在展開研究伺服器控制面板的旅程時找到了 ServerAvatar。

ServerAvatar 在功能上相對成熟,從 2016 年 7 月創立以來陸續累積了不少使用者,今年 (2021) 一年內更發布了許多令人眼睛一亮的新功能,包含:

  • 網站備份可儲存在第三方服務空間,包含 Google Drive、Dropbox、Amazon S3、Wasabi 等,並且可以直接以備份版本重置網站。
  • Open LiteSpeed
  • DigitalOcean Integration (之前可以透過自訂的方式新增伺服器)
  • AWS Lightsail Integration (之前可以透過自訂的方式新增伺服器)
  • 啟用、停用網站
  • 複製、遷移網站 (Clone、Migration)
  • Server Load、Memory Usage Monitor
  • Uptime Monitor
  • File Manager
  • One-click Disk Cleaning
  • 24*7 Support

在此之前,ServerAvatar 只提供 Apache 與 NGINX 的系統架構。而這也讓我對 ServerAvatar 未來的發展有更多的想像與期望。

測試主機規格

為了實際了解 CloudPages (以下簡稱 CP) 與 ServerAvatar (以下簡稱 SA) 的差異,按照前面所說的,直接建立了試用帳號並直接從 CP 與 SA 中設定 DigitalOcean (以下簡稱 DO) Droplet 主機。

所使用的 DO Droplet 規格為:

  • 主機地點:新加坡
  • 方案:Premium AMD CPU / 1 Core / 2GB Ram / 50GB Disk / 2TB 流量

由 CloudPages 建立的主機安裝了:

  • OS:Ubuntu 20.04
  • 網頁伺服器:OLS

由 ServerAvatar 建立的兩個主機也同樣相同版本的 Ubuntu 20.04,網站伺服器則為 OLS 與 NGNIX。

安裝步驟

CP 與 SA 在安裝 DO Droplet 的步驟大同小異,但流暢度還是有些微的差異。不過兩者在 DO 帳號建立之後,就都不需要再到 DO 網站上進行操作了。

急著看測試結果分析的人可以可以直接到「測試情景與結果分析」章節唷。

DigitalOcean 操作

建立 DigitalOcean 帳號,取得 API Code。

ServerAvatar 操作

  • 綁定 DO 帳號
    從 Integration 功能頁面下直接與 DO 帳號綁定即可
  • 從 Servers 功能頁面新增伺服器
    1. 選擇 DigitalOcean,選擇 DO 帳號
    2. 替伺服器命名,選擇網頁伺服器為 OLS 或 NGINX
    3. 選擇 OS 版本為 Ubentu 20.04
    4. 選擇主機地點
    5. 選擇主機規格
    6. 選擇 SA 方案 (Newbie 或 Pro)

主機建立完成後,從 Servers 頁面選取主機並進入控制面板。

  • 建立 WordPress 網站
    1. 在主機中的 Applications 頁面新增 Application
    2. 可使用自己或是 SA 預設的 Domain Name
      若選擇自己的網域名稱,記得先設定 DNS 將主機 IP 指定至 Domain Name。
    3. 設定 WordPress 網站 Admin 帳號

網站建立完成後,從 Applications 頁面下選取網站並進入網站控制面板。

  • 設定 SSL
    1. 進入 SSL Certificate 頁面
    2. 選擇安裝 SSL Certificate
    3. 勾選 Force HTTP to HTTPs
  • 設定 SFTP
    1. 進入網站的 Dashboard 頁面
    2. 將 SFTP/SSH Credentials 功能開啟 (Enable)

在 Servers 頁面選取主機進入主機控制面板。

  • 設定防火牆
    1. 進入 Firewall 頁面
    2. 新增規則
  • 設定 Cron Jobs
    1. 進入 Cronjobs 頁面
    2. 新增任務,指定任務名稱、執行任務使用者、執行命令、執行頻率

相關操作都相當直覺、流暢,沒有遇到任何困難與問題。

延伸閱讀 – 「ServerAvatar – 10 分鐘完成 DigitalOcean 主機佈署、安裝 WordPress 網站」。

CloudPages 操作

CP 帳號建立完成後,安裝主機前需要先建立一個 Project,建立完成後進入專案的管理面板。

  • 綁定 DO 帳號
    1. 進入 Deploy Servers 功能頁面
    2. 點選 Digital Ocean
    3. 點選 Add new key
    4. 替綁定的 API Key 命名
    5. 輸入前面取得的 DO API Key
    6. 確認新增
  • 從 Deploy Servers 功能頁面新增伺服器
    1. 點選 Digital Ocean
    2. 在 Select Key 的選項選擇剛剛建立的 API Key 名稱
    3. 替伺服器命名
    4. 選擇主機地點
    5. 選擇主機規格
    6. 選擇網頁伺服器類型 – OLS 或 LiteSpeed Enterprise
      OS 預設為 Ubuntu 20.04 x64 版本,無法改變
    7. 建立伺服器

主機建立完成後,在 List Servers 頁面中可以找到剛剛建立的主機,選取主機並進入控制面板。

  • 建立 WordPress 網站
    1. 在主機控制面板進入 WordPress Manager 頁面
      Create Website 頁面是用來建立其他 PHP 網站
    2. 點選 Deploy WordPress
    3. 設定 WordPress 網站名稱、Domain Name
      CP 不提供預設的網域名稱,必須使用自己的網域,先完成 DNS 設定才行。
    4. 選擇 WordPress 版本,除了預設安裝的 LSCache 外掛之外,是否直接安裝 Class Editor 或 WooCommerce 外掛
    5. 設定 WP Admin 帳號資訊
    6. 設定 WordPress、佈景主題、外掛是否需要自動更新版本
    7. 建立 WordPress 網站

接下來就是在操作上令人感到困惑的地方了,有兩種方式可以進入網站的控制面板

方法一

  1. 從主機控制面板進入 WordPress Manager 頁面,找到並點選 WP 網站
    在這個頁面中可以快速管理原本需要在 WordPress 後台才能操作的一些設定
  2. 點選左下角的 Manage Application,進入網站管理頁面

方法二

  1. 在主機控制面板中也可以看到這個主機中的網站清單
  2. 直接點選 WordPress 網站即可進入網站管理頁面

這部分的 UI、UX 未來勢必是需要重新思考、設計的。

在網站管理頁面中可以設定 SSL、Cron Jobs 以及安全性設定。

  • 設定 SSL
    基本上在網站建立完成後,因為使用的是自己的網域名稱,CP 會預設自動申請免費的 SSL 憑證,但是在我設定的過程中,SSL 並沒有立刻生效,所以按著下述步驟我又檢查了一次。
    1. 進入 SSL 頁面
    2. 點擊 Issue Free SSL
  • 設定 Cron Jobs
    除了設定新的任務之外,可以檢查目前網站上執行的其他任務 (Fetch Cron Jobs)
    1. 進入 Cron Jobs 頁面
    2. 選擇執行頻率新增任務,指定執行命令內容
  • 安全性設定
    1. 進入 Security 頁面
    2. 可選擇開啟、關閉 Bubblewrap 以及 reCAPTCHA 功能。

CloudPages 的頁面操作反應速度也相當快,除了一些 UI、UX 設計會造成使用者花費多餘時間在尋找功能之外,整體使用感覺相當順暢。

隨著產品功能的開發,相信上述提到的一些限制也會逐漸開放。

測試情景與結果分析

從上述的主機規格可以看出,我們規劃的測試情景有兩種:

  1. 比較 CP 與 SA 同樣使用 OLS 時的網站效能
  2. 比較 SA 使用 OLS 與 NGINX 間的網站效能差異

三個主機上的 WordPress 網站都安裝相同的佈景主題編輯器與外掛:

  • 佈景主題:Blocksy Pro
  • 網站內容:Blocksy 的 demo site HOMI
  • 外掛:Blocksy Companion、WooCommerce、Stackable、WPForms Lite、LiteSpped Cache (OLS 網站)
  • 只套用預設的設定,不做額外網站最佳化,以避免分析基準不一致。

測試的主要目的在於評估未來該使用哪一個作為手上部落格網站與團購網站的架站管理面板。

情景一:CloudPages 與 ServerAvatar 的差異

這部分比較的是 CP、SA 同時使用 Open LiteSpeed 架構時,遭遇高訪客流量 (壓力測試) 時網站的效能差異與影響,以及監控主機資源的介面比較。

資源使用

首先,來看看監控資源的功能畫面。我們在 CP 與 SA 都安裝了相同內容的 WordPress 網站,所以最大的差別就會是控制面板安裝後對主機資源的影響了。

比較值得注意的地方在於 SA 的記憶體 Ram 使用超過了 35% (約 700MB),比 CP 多了將近 500MB,儲存空間也比 CP 多了 2.8GB。

詢問 SA 官方人員之後得知,SA 目前記憶體占用較高的原因是因為資料庫使用 MySQL 而非像其他 Panel 廠商 (包含 CP、Cloudways) 大多是使用 MariaDB。官方也提到不排除未來會提供安裝 MariaDB 的選項,值得令人期待。

後續會再安裝多個 WordPress 網站觀察記憶體占用的影響是否會按網站數量遞增而增加或是只有初始的影響。

CloudPages

目前的設計還較為陽春,滑鼠移到圖表上可以顯示數值,但無法顯示對應的時間點。

CloudPages-server-resource-usage
ServerAvatar

可以直接按下更新圖示直接更新資源使用狀況,不需重新載入網頁更新。

ServerAvatar-ols-server-resource-usage

Monitor

對於主機資源的監控,SA 提供了更多的 Monitor。

Server Load

主機的 CPU 使用狀況,可以按照 1、5、15 分鐘的指標觀察主機的負擔是否過大、是否需要提高規格。

ServerAvatar-ols-monitor-server-load

官方 Roadmap 關於 Server Load 有相當詳盡的說明

Server Resource Usage

將前面儀表板中的 Server Load、Memory Usage、Disk Usage 的狀況以線圖呈現,方便觀察資源耗用走勢,並且可以清楚呈現時間點。

ServerAvatar-ols-monitor-server-resource-usage-2
Query Monitor

對資料庫存取的紀錄。

ServerAvatar-ols-monitor-query
Uptime Monitor (網站)

此外,也對網站的連線時間、uptime 提供監控記錄。熟悉這項功能的人應該都知道這一般也是需要額外付費的服務。

ServerAvatar-ols-monitor-uptime

壓力測試

關於測試方式,請參閱 Loader.io 說明

可以看出在三種不同的壓力測試情景下,CP 的表現整體微幅優於 SA,然而差異並不顯著,可以說是 LiteSpeed 架構下的平均表現。

不管是哪一種情景,採用 LiteSpeed 架構的網站都能從容地應付高訪客流量。

Client per test – 1 分鐘內平均分散共有 250 訪客 (訪客不停留)
Client per second – 1 分鐘內每秒都有 250 訪客
Maintain client load – 1 分鐘內逐漸增加訪客至 250 (訪客停留)

情景二:SA 使用 OLS 與 NGINX 的差異

資源使用

Server Load、Memory Usage、Disk Usage 等資源使用,SA 上使用 OLS 與 NGINX 可以說是沒有差異的。只有記憶體耗用 NGINX 大約多了 1-2%。

Monitor

CPU 的耗用因為不像 OLS 有快取扛著,所以一般而言耗用較高。

有興趣可以與上面 SA 使用 OLS 的紀錄相互對照參考。

Server Load
ServerAvatar-nginx-monitor-server-load
Server Resource Usage
ServerAvatar-nginx-monitor-server-resource-usage
Query Monitor
ServerAvatar-nginx-monitor-query
Uptime Monitor (網站)
ServerAvatar-nginx-monitor-uptime

壓力測試

最初在進行 NGINX 的測試時,完全按照前面測試情景說的沒有安裝任何提升網站效能或快取的外掛,可以說是裸妝上陣,但也直接被 Client per test 的流量給打掛了 (網站無法回應),可以看出快取技術對高流量網站的關鍵重要性。

ServerAvatar-nginx-clients-per-test-fail

所以快速安裝了 Breeze 外掛,只簡單使用了以下設定:

  • 啟用快取系統
  • Gzip 壓縮
  • 瀏覽器快取
Client per test – 1 分鐘內平均分散共有 250 訪客 (訪客不停留)
Client per second – 1 分鐘內每秒都有 250 訪客
Maintain client load – 1 分鐘內逐漸增加訪客至 250 (訪客停留)

從測試結果可以看出,LiteSpeed 做為從伺服器層面的全頁面快取技術,可以大幅提升高流量網站的訪客體驗,也能大幅降低伺服器的資源耗用負擔。

而採用 NGINX 架構的網站,在簡單的快取設定之下 (尚未考慮其他最佳化措施),在 client per test 下表現與 OLS 無異,確實還是適合一般部落格、公司形象、專業服務等靜態網站的需求。

對於其他兩種測試情景來說,關鍵還是在於同時上線的訪客流量大的時候,會產生主機延遲回應的問題。

以結論來說,值得後續花時間專門研究 LiteSpeed 快取的相關設定,以及網站最佳化的調校測試。

補充 – 網站速度測試

最後,我們來看一下大家最愛的網頁速度測試 PageSpeed Insights 以及 GTmetrix

PageSpeed Insights

GTmetrix

說真的,以訪客單次造訪頁面的速度體驗來說是不分軒輊的,只要有基本的快取再加上把網站最佳化做好都能夠有好的評分表現。

定價

ServerAvatar 輕鬆無負擔

定價的部分 ServerAvatar 提供了相當好的條件讓初次接觸伺服器控制面板的使用者能輕鬆、無負擔的開啟自行管理主機的旅程。

首先,免費使用可以設定一個主機 + 一個網站,使用有限的功能。

對於初次使用的人 SA 也提供了優惠碼「START10」可以在註冊帳號之後兌換取得美金 $10 元的免費額度。(加入官方社團後 Founder 不時還會發送福利唷,累計我已經取得 $15 的免費額度了)

付費方案目前提供兩種選擇,按主機數量收費:

  • Newbie
    每個月、每個主機 $2.36
  • Pro
    每個月、每個主機 $4.72

如果使用最便宜的方案,光是免費額度就能讓我們無負擔的玩主機架站 4 ~ 6 個月。如果想體驗前面提到的 Server Load/Uptime Monitor 等進階 (Pro) 功能,也能免費使用 2 ~ 3 個月了。

最後 (還來呀?!),如果大家有好好上官方網站閱讀 Blog 或使用說明文件,還能找到儲值時可以折扣 35% 的優惠碼,真的是沒看過這麼佛心的開發團隊~ ^_^

> 前往 ServerAvatar 官網

CloudPages 效能最佳

對 CloudPages 來說,也同樣提供了免費使用一個主機 + 一個網站的有限管理功能。

付費方案則提供了三種選擇,內容與可以架設的主機數量以及提供的功能有關。

  • Personal
    每個月、每個主機 $6 (年付) / $10 (月付)
  • Freelancer
    每個月、每個主機 $10 (年付) / $16 (月付)
  • Agency
    每個月、每個主機 $35 (年付) / $40 (月付)

因為 Founder 有 CyberPanel 與 Open LiteSpeed 開發團隊的背景,CP 在未來的發展可能性上帶給大家無限的想像,在定價上也貼近一般市場的費用標準。

而這也是我一直無法下定決心的原因,總不能 CP 與 SA 兩個的 LTD 都買吧…

> 前往 CloudPages 官網

> 前往 CloudPages LTD 方案 (30% off)

結語

花了一個周末 + 兩個晚上的時間完成了「伺服器管理面板」CloudPages 與 ServerAvatar 的初步研究,感覺挺開心的,除了將自己的知識領域向外延伸,增加了自行管理伺服器的可能性之外,也深度了解了較為成熟的 SaaS 產品在功能發展、銷售規劃的策略以及專業團隊在產品初步發展時容易遭遇到的困境與問題有哪些。

希望這些研究歷程對大家有幫助,對伺服器控制面板有興趣、想要嘗試自己管理主機的人,也可以用同樣的方式試用唷~~

想試用 DigitalOcean 的話可以使用我的推薦連結註冊,取得 60 天內美金 $100 元的免費額度唷!

> 前往 DigitalOcean 官網

{"email":"Email address invalid","url":"Website address invalid","required":"Required field missing"}
>