部署《餐廳消消消》這類三網 H5 遊戲的 Linux 手工服務端,真正容易出問題的往往不是「把檔案丟上去」,而是網域、連接埠、靜態資源與後端介面沒有對齊。若玩家點下「開始遊戲」後長時間白屏,通常先別急著懷疑遊戲包,80% 的情況是 Nginx 路徑設定、跨網域請求或防火牆規則出了岔子。
Linux 遊戲服務端部署前的基本準備
建議使用 Ubuntu 22.04 LTS 或 CentOS Stream 等穩定發行版,最低可從 2 核心、4GB 記憶體、50GB SSD 起步。小型測試服大致足夠;若同時在線超過 300 人,圖片、音效與關卡資源的頻繁載入會明顯拉高頻寬需求,建議將靜態檔案接到 CDN。
伺服器先安裝 Nginx、PHP 或 Node.js,再依遊戲原始程式的技術架構選擇資料庫。常見組合是 Nginx + PHP-FPM + MySQL,也有 H5 遊戲後台採用 Node.js WebSocket 維持即時連線。不要看到有 index.html 就只開靜態站,登入、存檔、排行榜等功能多半仍需要 API 支援。
網站目錄與 Nginx 設定細節
將遊戲前端檔案放入例如 /www/wwwroot/game/,並確認入口檔是否為 index.html。Nginx 的 root 必須指向實際目錄,而不是壓縮檔解壓後多包了一層的資料夾,這是手工部署時很常見的小失誤。
若遊戲資源使用絕對路徑,例如 /assets/scene.json,網站需部署在網域根目錄;若只能放在 /game/ 子目錄,則要修改前端設定中的資源基礎路徑。否則主畫面看似正常,進入關卡後圖片或消除動畫卻載入失敗,玩家體驗會很差。
連線、安全與上線檢查
防火牆至少放行 80 與 443 連接埠;正式環境應配置 SSL 憑證,避免瀏覽器因混合內容阻擋 API 或音效資源。若後端服務跑在 3000、8080 等內部埠,別直接暴露給外網,交由 Nginx 反向代理會更穩妥。
上線前可用瀏覽器開發者工具檢查 Network 面板:確認首頁、關卡 JSON、圖片資源與登入 API 都回傳 200。再用手機 4G 實測一次,因為 Wi-Fi 能開不代表行動網路環境沒有 DNS、憑證或跨域問題。手工部署雖然多幾步,但把日誌、備份與權限一次理順,後續更新遊戲版本會輕鬆得多。

評論(10)
哎呀,剛好想弄個小測服,這篇說的防火牆要開 80/443 真是提醒到我了。
Nginx 的 root 指向錯層資料夾的錯誤我也踩過,結果玩家白屏好慘。
有沒有人用過 CDN 加速靜態資源,實際帶寬需求真的下降很多?
我之前部署過 Node.js WebSocket,反向代理的設定還是讓我抓狂。
為什麼一定要把 SSL 放在前端?如果只跑測試環境會不會影響跨域?
這篇提到的 /www/wwwroot/game/ 路徑,我的 Ubuntu 用的是 /var/www/html,會不會有差別?
想問一下,CentOS Stream 跟 8 的相容性怎麼樣?我怕套件衝突。
手動部署雖多步,但比起自動化腳本,我更放心每一步都看得見。
測試時用手機 4G 真的發現 DNS 問題,我差點忘了把 DNS 設成公開。
有沒有推薦的 Nginx 配置範例,能直接套用在 H5 遊戲上?