← 主題

Laravel Reverb 託管方式:Laravel Cloud、自己的伺服器或託管服務

Laravel 應用的 WebSocket 可以跑在哪裡:Laravel Cloud 的託管 Reverb、Forge 或 Docker 伺服器上的 Reverb,或相容 Pusher 的託管服務。價格與各自留給你的工作。

Laravel Reverb 是為 Laravel 打造的 WebSocket 伺服器,使用 Pusher 協定。所以 Laravel 應用的 WebSocket 有三個地方可以跑:Laravel Cloud 的託管 Reverb、你自己管理的伺服器上的 Reverb,或相容 Pusher 的託管服務。三者的廣播事件、routes/channels.php 和 Laravel Echo 程式碼都一樣;不同的是價格,以及留給你的工作。

三種選項

Laravel Cloud

你的 Laravel 應用在 Laravel Cloud 上
REVERB_ 變數
託管 Reverb你選的區域

你自己的伺服器

你的 Laravel 應用
reverb 驅動
ReverbSupervisor、Nginx、ulimit
Redis
更多 Reverb 伺服器

託管服務

你的 Laravel 應用放在任何地方
pusher 驅動
Hibira香港
同樣的 Laravel 程式碼,三個跑 WebSocket 的地方

Laravel Cloud 的託管 Reverb

Laravel Cloud 可以從控制台建立 Reverb 叢集:選區域和連線大小,把叢集掛到環境上,Cloud 就會注入 REVERB_ 變數。一個叢集可以分給多個應用使用。

每個級距的訊息大小上限都是 10 KB,另外還要付 Laravel Cloud 本身的方案費用(每月 5 美元起加用量)。數字取自 Laravel Cloud 的價格文件與其 WebSockets 文件,查詢日期 2026-10-26。

應用已經在 Laravel Cloud 上的話,這是最簡單的選擇。放在其他地方的應用則不能用。

自己伺服器上的 Reverb

Reverb 是免費軟體,成本是伺服器和時間。Reverb 文件列出正式環境需要的東西:

  • 用 Supervisor 之類的行程管理器,讓 php artisan reverb:start 持續執行。
  • 前面放 Nginx 之類的反向代理,負責 TLS。
  • 提高可開啟的檔案數上限,因為每條連線都佔一個檔案描述元;超過約 1,000 條連線時改用 ext-uv 事件迴圈。
  • 跑超過一台 Reverb 伺服器時,需要 Redis 和 REVERB_SCALING_ENABLED=true,前面再加負載平衡器。

Forge 可以在它管理的伺服器上設定 Reverb 常駐程式,省掉前三項的大部分工作。監控、升級和停掉時被叫醒,仍然是你的事。

適合已經有在維運伺服器和監控的團隊,或是廣播事件必須留在自家基礎設施內的應用。

相容 Pusher 的託管服務

Laravel 的 pusher 廣播驅動可以連任何使用 Pusher 協定的服務。在 .env 設好主機、把 Echo 指過去,不論你的應用放在哪裡,WebSocket 伺服器都由服務代管。

App 頁面上的 App ID、key 與 secret
App 頁面上的 App ID、key 與 secret

以 Hibira 為例,免費方案有 100 條連線、每天 20 萬則訊息;付費方案每月 19 美元起,500 條連線、每天 100 萬則發佈訊息。一次發佈不論送給多少訂閱者都只算一次。伺服器在香港,適合東亞與東南亞的使用者。細節與程式碼見與 Laravel Reverb 的比較和 Laravel Echo 指南。

怎麼選

  • 應用在 Laravel Cloud 上:用託管 Reverb,除非你的使用者離它提供的區域太遠。
  • 已經在維運伺服器,也不想經過第三方:在自己的伺服器上跑 Reverb。
  • 應用在 VPS、共享主機、Vapor 或其他平台上,又不想維運 WebSocket 伺服器:用相容 Pusher 的託管服務。

之後要換,只要改 BROADCAST_CONNECTION 和幾個 .env 值。

常見問題

不用 Laravel Cloud 也能用 Laravel Reverb 嗎?

可以。Reverb 是開源軟體,任何能跑 PHP 的伺服器都能用。Laravel Cloud 只是為放在它上面的應用提供託管版本。

託管的 Laravel Reverb 要多少錢?

在 Laravel Cloud 上,100 條同時連線每月 5 美元,到 5,000 條每月 200 美元,另外加上 Laravel Cloud 本身的方案費用。

Laravel Reverb 一定要 Redis 嗎?

只有跑超過一台 Reverb 伺服器時才需要:Redis 負責在伺服器之間分享訊息。單台 Reverb 伺服器不需要。

產品名稱為其所有者的商標。