CentOS 7.6 自建 LiveKit 部署指南

1. 环境要求

建议
系统 CentOS 7.6 x86_64
公网 IP 必备(云主机)
域名 建议 livekit.yourdomain.com(生产需 HTTPS/WSS)
开放端口 TCP 7880(信令)、TCP 7881、UDP 50000-60000、TURN 3478/5349
Docker 20+ / docker-compose v1 或 v2

CentOS 7 默认内核较旧,强烈建议用 Docker + host 网络,不要用复杂的 bridge NAT。

2. 安装 Docker(CentOS 7)

复制代码
yum install -y yum-utils
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum install -y docker-ce docker-ce-cli containerd.io
systemctl enable --now docker
​
# compose 插件或独立二进制均可
curl -L "https://github.com/docker/compose/releases/download/v2.29.7/docker-compose-$(uname -s)-$(uname -m)" \
  -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

若官方源慢,可换国内镜像后再装。

3. 准备配置目录

复制代码
mkdir -p /opt/livekit
cd /opt/livekit

3.1 livekit.yaml

coturn 已关闭 时,请打开 LiveKit 内置 TURN(turn.enabled: true),跨运营商/公司网更稳。 若以后再开 coturn 抢 3478,再把 turn.enabled 改回 false

复制代码
port: 7880
log_level: info
​
rtc:
  tcp_port: 7881
  port_range_start: 50000
  port_range_end: 60000
  use_external_ip: true
​
keys:
  # secret 必须 ≥32 字符
  APIoaKey: "请换成openssl_rand_hex_32生成的至少32位密钥"
​
# coturn 已停用:启用 LiveKit 内置 TURN
turn:
  enabled: true
  udp_port: 3478
  # 无独立 TURN 域名/证书时可先不开 TLS
  # tls_port: 5349
  # domain: turn.yourdomain.com

生成强密钥:

复制代码
openssl rand -hex 32

启动LiveKit:

复制代码
cd /opt/livekit
docker-compose pull
docker-compose down
docker-compose up -d
docker-compose logs -f --tail=100

3.2 docker-compose.yaml

复制代码
services:
  livekit:
    # 建议使用最新稳定版,与 livekit-client 2.x 匹配(勿用过旧的 1.8.x)
    image: livekit/livekit-server:v1.13.5
    network_mode: host
    restart: unless-stopped
    volumes:
      - ./livekit.yaml:/etc/livekit.yaml:ro
    command: --config /etc/livekit.yaml

客户端是 livekit-client@2.21 时,服务器请用 v1.9+ ,推荐 v1.13.5 。1.8.4 会先 404 /rtc/v1 再回退,容易「已连接但无画面」。

健康检查(本机):

复制代码
curl -i http://127.0.0.1:7880
# 或
ss -lntp | grep 7880

4. 防火墙 / 安全组

复制代码
# firewalld 示例
firewall-cmd --permanent --add-port=7880/tcp
firewall-cmd --permanent --add-port=7881/tcp
firewall-cmd --permanent --add-port=3478/udp
firewall-cmd --permanent --add-port=3478/tcp
firewall-cmd --permanent --add-port=50000-60000/udp
firewall-cmd --reload

云厂商控制台同步放行上述端口。

5. HTTPS / WSS(生产必做)

浏览器与 App WebView 在 HTTPS 页面下要求 wss://。推荐用 nginx 反代:

nginx.conf:

复制代码
livekit.yourdomain.com {
  proxy_pass 127.0.0.1:7880
}

确认后客户端使用:

复制代码
wss://livekit.yourdomain.com

6. 配置 后端

编辑 web/src/main/resources/application.yml(或 application-prod.yml):

复制代码
livekit:
  enabled: true
  url: wss://livekit.yourdomain.com   # 开发可临时 ws://公网IP:7880
  api-key: APIoaKey
  api-secret: replace_with_32chars_or_longer_secret
  token-ttl-seconds: 7200

api-key / api-secret 必须与 livekit.yamlkeys 一致。

重启后端后:

  • POST /api/v1/webrtc/private/call|accept|token 返回 { url, roomName, token, mediaMode: "sfu" }

  • 群呼同理:/api/v1/webrtc/group/*

7. 最小验证(可选)

本机装 LiveKit CLI:

复制代码
# 生成测试 token(需与 keys 一致)
# 或用官方 meeting demo 指向你的 wss 地址

也可用 LiveKit Meet 示例 自定义 server URL 做连通性测试(需公网可达的 wss)。

相关推荐
Huangjin007_1 小时前
【Linux 系统篇(十四)】进程 (二) :PCB、task_struct、fork系统调用
linux·运维·服务器
HiDev_1 小时前
【非标自动化】硬核阅读理解620行梯形图(70~619行)
运维·自动化
深念Y1 小时前
hotspot-adb-research
linux·数据库·adb·emmc·随身wifi·移动终端
雨田言炎2 小时前
十、QThread多线程
linux·服务器·开发语言·前端·qt
海兰2 小时前
云原生持续交付平台 Zadig 在 Ubuntu 24.04 上的部署及使用指南
linux·ubuntu·云原生
向上的车轮2 小时前
GitHub Actions 自动化运维实战:Java + TypeScript 全栈项目 CI/CD 至阿里云
运维·自动化·github
重庆小透明2 小时前
深入探寻微服务【第三篇微服务的组件】
运维·微服务·架构
哎呦,帅小伙哦2 小时前
Linux 系统监控核心:/proc/stat 文件全解析
linux·服务器
智脑API2 小时前
Codex config.toml check_for_update_on_startup 怎么关闭?离线环境与版本提醒排查
运维·服务器·前端