← หัวข้อ

การโฮสต์ Laravel Reverb: Laravel Cloud เซิร์ฟเวอร์ของคุณเอง หรือบริการแบบโฮสต์ให้

WebSocket ของแอป Laravel รันได้ที่ไหนบ้าง: Reverb แบบจัดการบน Laravel Cloud, Reverb บนเซิร์ฟเวอร์ Forge หรือ Docker หรือบริการแบบโฮสต์ให้ที่รองรับ Pusher พร้อมราคาและงานที่แต่ละแบบเหลือให้คุณ

Laravel Reverb คือเซิร์ฟเวอร์ WebSocket ที่สร้างมาเพื่อ Laravel และใช้โปรโตคอล Pusher แอป Laravel จึงมีที่ให้รัน WebSocket ได้สามแบบ คือ Reverb แบบจัดการบน Laravel Cloud, Reverb บนเซิร์ฟเวอร์ที่คุณดูแลเอง หรือบริการแบบโฮสต์ให้ที่รองรับ Pusher อีเวนต์ broadcast, routes/channels.php และโค้ด Laravel Echo เหมือนกันทั้งสามแบบ ที่ต่างกันคือราคาและงานที่เหลือให้คุณทำ

สามทางเลือก

Laravel Cloud

แอป Laravelบน Laravel Cloud
ตัวแปร REVERB_
Reverb แบบจัดการรีเจียนที่คุณเลือก

เซิร์ฟเวอร์ของคุณ

แอป Laravel
ไดรเวอร์ reverb
ReverbSupervisor, Nginx, ulimit
Redis
เซิร์ฟเวอร์ Reverb เพิ่มเติม

บริการแบบโฮสต์ให้

แอป Laravelอยู่ที่ไหนก็ได้
ไดรเวอร์ pusher
Hibiraฮ่องกง
โค้ด Laravel ชุดเดียว สามที่สำหรับรัน WebSocket

Reverb แบบจัดการบน Laravel Cloud

Laravel Cloud สร้างคลัสเตอร์ Reverb ได้จากแดชบอร์ด คุณเลือกรีเจียนและขนาดการเชื่อมต่อ ผูกคลัสเตอร์กับ environment แล้ว Cloud จะใส่ตัวแปร REVERB_ ให้ คลัสเตอร์หนึ่งแบ่งใช้กับหลายแอปได้

ทุกขนาดจำกัดขนาดข้อความที่ 10 KB และต้องจ่ายค่าแพ็กเกจของ Laravel Cloud เพิ่ม (เริ่ม 5 ดอลลาร์ต่อเดือนบวกค่าใช้งาน) ตัวเลขจากเอกสารราคาของ Laravel Cloud และเอกสาร WebSockets ตรวจสอบเมื่อ 2026-10-26

ถ้าแอปอยู่บน Laravel Cloud อยู่แล้ว นี่คือทางที่ง่ายที่สุด แต่ใช้กับแอปที่โฮสต์ที่อื่นไม่ได้

Reverb บนเซิร์ฟเวอร์ของคุณ

Reverb เป็นซอฟต์แวร์ฟรี ต้นทุนจึงเป็นเซิร์ฟเวอร์และเวลา เอกสารของ Reverb ระบุสิ่งที่ระบบจริงต้องมี

  • ตัวจัดการโพรเซสอย่าง Supervisor เพื่อให้ php artisan reverb:start ทำงานตลอด
  • reverse proxy อย่าง Nginx ด้านหน้าสำหรับจัดการ TLS
  • ขีดจำกัดไฟล์ที่เปิดได้ที่สูงขึ้น เพราะแต่ละการเชื่อมต่อใช้ file descriptor หนึ่งตัว และ event loop แบบ ext-uv เมื่อเกินราว 1,000 การเชื่อมต่อ
  • Redis และ REVERB_SCALING_ENABLED=true เมื่อรัน Reverb มากกว่าหนึ่งเครื่อง พร้อม load balancer ด้านหน้า

Forge ตั้ง daemon ของ Reverb บนเซิร์ฟเวอร์ที่มันดูแลได้ จึงตัดงานสามข้อแรกไปได้เกือบหมด แต่การเฝ้าระบบ การอัปเกรด และการถูกเรียกเมื่อระบบล่ม ยังเป็นงานของคุณ

เหมาะกับทีมที่ดูแลเซิร์ฟเวอร์พร้อมระบบเฝ้าระวังอยู่แล้ว หรือแอปที่อีเวนต์ broadcast ต้องไม่ออกนอกโครงสร้างพื้นฐานของตัวเอง

บริการแบบโฮสต์ให้ที่รองรับ Pusher

ไดรเวอร์ broadcast pusher ของ Laravel เชื่อมต่อกับบริการใดก็ได้ที่ใช้โปรโตคอล Pusher ตั้งโฮสต์ใน .env ชี้ Echo ไปที่นั่น แล้วบริการจะดูแลเซิร์ฟเวอร์ WebSocket ให้ ไม่ว่าแอปของคุณจะโฮสต์อยู่ที่ไหน

App ID, key และ secret ในหน้าแอป
App ID, key และ secret ในหน้าแอป

สำหรับ Hibira แพ็กเกจฟรีมี 100 การเชื่อมต่อและ 200,000 ข้อความต่อวัน แพ็กเกจแบบชำระเงินเริ่ม 19 ดอลลาร์ต่อเดือน ได้ 500 การเชื่อมต่อและ 1 ล้านข้อความที่เผยแพร่ต่อวัน การเผยแพร่นับครั้งเดียวไม่ว่าจะมีผู้ติดตามกี่คน เซิร์ฟเวอร์อยู่ในฮ่องกง เหมาะกับผู้ใช้ในเอเชียตะวันออกและเอเชียตะวันออกเฉียงใต้ รายละเอียดและโค้ดอยู่ในการเปรียบเทียบกับ Laravel Reverb และคู่มือ Laravel Echo

วิธีเลือก

  • แอปอยู่บน Laravel Cloud: ใช้ Reverb แบบจัดการ เว้นแต่ผู้ใช้อยู่ไกลจากรีเจียนที่มีให้
  • ดูแลเซิร์ฟเวอร์อยู่แล้วและไม่อยากผ่านบุคคลที่สาม: รัน Reverb บนเซิร์ฟเวอร์ของคุณ
  • แอปอยู่บน VPS, shared hosting, Vapor หรือแพลตฟอร์มอื่น และไม่อยากดูแลเซิร์ฟเวอร์ WebSocket: ใช้บริการแบบโฮสต์ให้ที่รองรับ Pusher

ถ้าจะเปลี่ยนภายหลัง ก็แค่เปลี่ยน BROADCAST_CONNECTION และค่าใน .env ไม่กี่ตัว

คำถามที่พบบ่อย

ใช้ Laravel Reverb โดยไม่ใช้ Laravel Cloud ได้ไหม?

ได้ Reverb เป็นโอเพนซอร์สและรันได้บนเซิร์ฟเวอร์ใดก็ได้ที่มี PHP Laravel Cloud แค่มีรุ่นแบบจัดการให้สำหรับแอปที่โฮสต์อยู่ที่นั่น

Laravel Reverb แบบจัดการราคาเท่าไร?

บน Laravel Cloud เริ่ม 5 ดอลลาร์ต่อเดือนสำหรับ 100 การเชื่อมต่อพร้อมกัน ไปจนถึง 200 ดอลลาร์ต่อเดือนสำหรับ 5,000 บวกค่าแพ็กเกจของ Laravel Cloud เอง

Laravel Reverb ต้องใช้ Redis ไหม?

ต้องใช้เฉพาะเมื่อรัน Reverb มากกว่าหนึ่งเครื่อง เพราะ Redis ใช้แบ่งข้อความระหว่างเซิร์ฟเวอร์ ถ้ามีเครื่องเดียวไม่ต้องใช้

ชื่อผลิตภัณฑ์เป็นเครื่องหมายการค้าของเจ้าของ