详细的生产部署建议,适用于 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):
caddyfile
your-domain.com {
reverse_proxy /rtc* 127.0.0.1:7880
reverse_proxy / 127.0.0.1:8080 # 你的前端静态文件服务端口
file_server
encode 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 服务器 :
bash./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、证书和重要数据。