詳細的生產部署建議,適用于 LiveKit Go 服務器 + Web 客戶端 + TURN/HTTPS。
1. 服務器準備
- 推薦使用云服務器(如阿里云、騰訊云、AWS、Azure等),公網IP,帶寬建議≥10Mbps。
- 系統推薦 Ubuntu 20.04/22.04 或 CentOS 7/8,Windows 也可但生產建議 Linux。
- 關閉云廠商安全組/防火墻對相關端口的限制。
2. 端口與防火墻
必須開放以下端口:
端口 | 協議 | 用途 |
---|---|---|
80, 443 | TCP | Web/HTTPS |
7880 | TCP | LiveKit signaling |
7881 | TCP | LiveKit WebRTC TCP |
3478 | UDP | TURN/STUN |
5349 | TCP | TURN TLS |
50000-60000 | UDP | WebRTC 媒體中繼 |
- 云服務器安全組、系統防火墻(如 ufw、firewalld、iptables)都要放行。
- 路由器/NAT 設備也要做端口轉發(如有)。
3. 反向代理與 HTTPS
強烈建議用 Caddy/Nginx/Traefik 做反向代理和 TLS 終結:
- 讓 Web 客戶端、LiveKit signaling、TURN 都走 HTTPS/WSS。
- 自動申請/續期 Let’s Encrypt 證書。
Caddy 示例配置(推薦,自動 HTTPS):
your-domain.com {reverse_proxy /rtc* 127.0.0.1:7880reverse_proxy / 127.0.0.1:8080 # 你的前端靜態文件服務端口file_serverencode gzip
}
- 你的 Web 客戶端(如 medical-livekit.html)可用 nginx/caddy serve 靜態文件。
4. LiveKit 配置建議
config.yaml
里domain
填公網域名或公網IP。use_external_ip: true
,讓 LiveKit 自動發現外網IP。- TURN 配置只需
enabled: true
,端口、證書、relay_range 正確即可。 - 不要加 force_relay/auth/static 字段。
5. TURN 證書
- 生產環境建議用正式域名證書(Let’s Encrypt 免費)。
- 證書和私鑰路徑填到 config.yaml 的
cert_file
和key_file
。
6. Web 客戶端配置
- signaling 地址用
wss://your-domain.com/rtc
。 - 前端頁面用 HTTPS 訪問,避免瀏覽器安全限制。
7. 生產部署流程
- 上傳項目到服務器(可用 scp、rsync、git clone 等)。
- 安裝依賴(Go、Caddy/Nginx、證書等)。
- 配置 config.yaml,檢查端口、域名、證書路徑。
- 啟動 LiveKit 服務器:
./livekit-server --config config.yaml
- 啟動 Caddy/Nginx,確保 443/80 端口可訪問。
- 用瀏覽器訪問 https://your-domain.com/medical-livekit.html 測試。
8. 監控與日志
- 生產建議開啟 LiveKit 的 Prometheus 監控端口。
- 日志建議寫入文件,便于排查問題。
9. 其他建議
- 生產環境建議用獨立 coturn 服務器,LiveKit 內置 TURN 適合小規模/測試。
- 關注服務器帶寬和 CPU,視頻會議對帶寬要求較高。
- 定期備份 config.yaml、證書和重要數據。
參考文檔
- LiveKit 官方部署文檔
- Caddy 官方文檔
- Let’s Encrypt 免費證書