CDN 節點如何部署,重點不只是把程式安裝到另一台 Linux 伺服器,而是要讓主控端、邊緣節點、DNS 與快取規則真正配合起來。以這類 PHP CDN 系統為例,主控端負責後台管理、節點下發與規則配置,邊緣節點則處理使用者請求。若只完成網站安裝,卻沒有設定偽靜態、定時任務或節點通信,表面上能登入,實際加速通常仍然不會生效。
CDN節點部署前的環境準備
主控端建議使用 CentOS 7 64 位或相容的 Linux 環境,測試用途至少準備 1 核 CPU、2GB 記憶體與 20GB 磁碟。PHP 可選 7.2 至 8.2,MySQL 使用 5.7 或 8.0,並確認 pdo_mysql、curl、openssl、json、mbstring 等擴充已啟用。特別容易被忽略的是 proc_open,如果在 PHP 禁用函式中被封鎖,節點安裝腳本可能無法執行。
邊緣節點最好使用獨立 Linux 伺服器,並以 root 權限安裝。最低配置可從 1 核、1GB 記憶體及 40GB 磁碟起步,但這只適合測試或少量網站。假設快取上限設定為 20GB,磁碟空間太小時,快取寫滿會造成清理頻繁、磁碟 I/O 升高,甚至出現節點離線的情況。正式環境應依流量、檔案大小與快取保留時間增加容量。
CDN節點安裝與主控端連接
上傳主控端網站後,在面板建立站點,選擇相容的 PHP 版本,再透過 /install/ 進入安裝精靈。環境檢查、資料庫建立及管理員設定完成後,不要急著新增節點,先進入後台的維護或升級區域,手動取得並部署節點套件。
新增節點時,通常需要填寫節點 IP、通信密鑰、服務埠與快取路徑。建議先用一台節點測試:確認主控端能下發配置、節點能正常回報狀態,再逐步增加數量。若一次部署十台,遇到防火牆、權限或版本問題時,排錯會變得非常麻煩。
偽靜態、定時任務與安全檢查
偽靜態沒有配置好,後台或使用者中心可能直接顯示 404。Nginx、OpenResty 與 Apache 的規則並不完全相同,不能把一份設定檔直接套用到所有環境。安裝完成後,也要依照後台提供的命令設定定時任務,並禁止外部再次訪問 /install/,避免安裝入口暴露在公網。
實際案例中,一個每日約 30 萬次請求的小型網站,先使用主控端加兩個邊緣節點,將靜態檔案快取時間設為 1 小時,觀察 CPU、記憶體、磁碟 I/O 和回源比例,再決定是否擴容。部署 CDN 節點不是數量越多越好;節點距離使用者、線路品質、回源伺服器效能,往往比單純增加伺服器數量更重要。

評論(4)
原來節點數量不是越多越好,先觀察回源比例這點很實際
proc_open 被封鎖這個細節很容易漏掉,難怪安裝腳本會卡住
想請問正式環境的快取容量通常會怎麼估算?
如果先部署一台測試節點,確實比較容易定位防火牆或權限問題