Jitsi 视频会议/视频客服/视频聊天
概述
Jitsi 是一套开源的视频会议解决方案,核心由以下组件构成:
- Prosody:XMPP 服务器,负责信令与鉴权
- Jicofo:会议协调器,负责房间/桥接管理
- Jitsi Videobridge(JVB):SFU 媒体转发
- Web:静态前端(含配置与资源)
- Jibri:会议录制/直播(可选,建议单独机器/容器)
- Coturn:STUN/TURN(建议自建,保证弱网/NAT 可用)
你也可以参考我们在 Janus 文档中的写法与 结构(端口、安全、TURN 等理念通用)。
适用范围与目标
- 单房间 ~100 人互动;总并发 ~100
- 需要录制(Jibri)
- 需要移动端与品牌自定义
- 追求最短上线路径、后续再优化
前置条件
- 域名与 DNS:如
jitsi.weiyuai.cn(A 记录指向公网 IP) - 服务器:
- Core(Prosody/Jicofo/Web):2 vCPU / 4GB RAM
- JVB:4 vCPU / 8GB RAM / ≥300 Mbps 带宽(起步)
- Jibri:4 vCPU / 8GB RAM(每台建议同时只录制 1 场)
- Coturn:2 vCPU / 4GB RAM / 公网 IP
- 操作系统:Ubuntu 20.04+/Debian/CentOS/RHEL 均可(推荐 Ubuntu 22.04 LTS)
- 证书:生产建议使用有效的 TLS 证书(可用反代 + Let’s Encrypt)
端口与安全组
对外需开放:
- 443/tcp:HTTPS/WSS(Web 与信令)
- 10000/udp:JVB 媒体转发(可按需扩大范围,如 10000-20000/udp)
- 3478/udp、5349/tcp:Coturn(TURN/DTLS/TLS)
对内(容器/节点间)常见端口(示例):
- Prosody:5280(BOSH)、5347(组件)、5222(客户端)等
- Jicofo ↔ Prosody:XMPP 组件端口
注意:实际端口以你的部署/ 反向代理为准;尽量仅对外暴露 443 与 JVB UDP 端口,Coturn 暴露 3478/5349。
微语官方测试地址与参考配置
官方资源
- 在线测试地址(微语官方提供):https://jitsi.weiyuai.cn/
- 参考配置文件与部署示例:https://github.com/Bytedesk/bytedesk/tree/main/deploy/jitsi
快速安装(Quickstart)
以下为“最快可用”的两条路径,建议先选其一完成可用性验证:
- 官方 Quickstart:Jitsi Handbook Quickstart
A. Ubuntu/Debian
以下为基于 Ubuntu 22.04(Debian 同理)的完整安装步骤,涵盖仓库/密钥(Prosody ≥ 0.12)、分步安装、状态检查与证书。
安装前置条件
- 公网服务器,推荐 Ubuntu 22.04 LTS
- 已解析的域名(例:
jitsi.weiyuai.cn),A 记录指向本机公网 IP - 端口策略可放通:80/tcp、443/tcp、10000/udp(可用 UFW 或安全组)
- Root 权限或等效 sudo 权限
必需端口与防火墙
端口说明见上文“端口与安全组”。如需使用 UFW 快速放行:
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw allow 10000/udp
添加官方仓库与密钥(Jitsi 与 Prosody)
Ubuntu/Debian 默认仓库的 Prosody 往往是 0.11.x,Jitsi 组件需要 Prosody ≥ 0.12,故需添加 Prosody 官方仓库。
sudo apt update
sudo apt install -y curl gnupg ca-certificates software-properties-common lsb-release
# Jitsi 仓库与密钥
sudo install -d -m 0755 /usr/share/keyrings
curl -fsSL https://download.jitsi.org/jitsi-key.gpg.key \
| sudo gpg --dearmor -o /usr/share/keyrings/jitsi-keyring.gpg
echo 'deb [signed-by=/usr/share/keyrings/jitsi-keyring.gpg] https://download.jitsi.org stable/' \
| sudo tee /etc/apt/sources.list.d/jitsi-stable.list > /dev/null
# Prosody 仓库与密钥(确保 ≥ 0.12)
curl -fsSL https://prosody.im/files/prosody-debian-packages.key \
| sudo gpg --dearmor -o /usr/share/keyrings/prosody-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/prosody-archive-keyring.gpg] https://packages.prosody.im/debian $(lsb_release -cs) main" \
| sudo tee /etc/apt/sources.list.d/prosody.list > /dev/null
sudo apt update
# 可选:验证仓库是否生效
apt-cache policy jitsi-meet | sed -n '1,15p'
apt-cache policy prosody | sed -n '1,15p'
安装 Prosody(确保版本 ≥ 0.12)
sudo apt install -y prosody
prosodyctl --version || true
无人值守参数(先用自签名证书与临时主机名)
如暂未确定域名或尚未申请证书,可先使用自签名证书与临时主机名(后续可切换)。
sudo apt install -y debconf-utils
echo 'jitsi-meet jitsi-meet/hostname string jitsi.local' | sudo debconf-set-selections
echo 'jitsi-meet jitsi-meet/cert-choice select Generate a new self-signed certificate' | sudo debconf-set-selections
安装 jitsi-meet(分步安装,降低中断风险)
部分组件(如 jitsi-videobridge2)体积较大,建议分步安装:
# Web 与 Prosody 配置(体积较小)
sudo apt install -y jitsi-meet-web jitsi-meet-web-config jitsi-meet-prosody
# Jicofo(会拉取 Java 运行时)
sudo apt install -y jicofo
# 视频桥(较大,单独安装便于重试)
sudo apt install -y jitsi-videobridge2
# TURN 组件(可选,但弱网/NAT 建议后续自建 Coturn)
sudo apt install -y jitsi-meet-turnserver || true
# 汇总元包(若前面都装好会快速通过)
sudo apt install -y jitsi-meet
遇到下载被网络中断时,可再次执行上一条命令重复尝试;或使用 -o Acquire::Retries=3 增加自动重试。
启动与开机自启、状态检查
sudo systemctl enable --now prosody jicofo jitsi-videobridge2 nginx
# 简要状态(active 为运行中)
systemctl is-active prosody
systemctl is-active jicofo
systemctl is-active jitsi-videobridge2
systemctl is-active nginx
# 端口检查(应看到 80/443 TCP 与 10000 UDP)
ss -ltn '( sport = :80 or sport = :443 )' | sed -n '1,10p'
ss -lun 'sport = :10000' | sed -n '1,10p'
切换域名与签发 HTTPS 证书(Let’s Encrypt)
当域名(如 jitsi.weiyuai.cn)已解析到本机公网 IP 后:
# 重新配置站点域名(如之前用了 jitsi.local)
sudo dpkg-reconfigure jitsi-meet-web-config
# 申请并安装证书(会自动配置 Nginx)
sudo /usr/share/jitsi-meet/scripts/install-letsencrypt-cert.sh
完成后,用浏览器访问 https://jitsi.weiyuai.cn 创建房间进行验证。
卸载(可选)
sudo systemctl stop jicofo jitsi-videobridge2 prosody nginx || true
sudo apt purge -y jitsi-meet jicofo jitsi-videobridge2 jitsi-meet-web jitsi-meet-prosody jitsi-meet-web-config jitsi-meet-turnserver prosody
sudo apt autoremove -y
B. Docker Compose
git clone https://github.com/jitsi/docker-jitsi-meet.git
cd docker-jitsi-meet
cp env.example .env && ./gen-passwords.sh
# 编辑 .env 至少设置:
# PUBLIC_URL=https://<你的域名>
# DOCKER_HOST_ADDRESS=<主机公网IP>
# 可选开启 Let's Encrypt:ENABLE_LETSENCRYPT=1 等
docker compose up -d
说明:官方工程包含 web/prosody/jicofo/jvb 的编排;若分离 JVB,确保对外映射 UDP 10000。TURN 与 Jibri 见下文。
日志位置
- JVB:
/var/log/jitsi/jvb.log - Jicofo:
/var/log/jitsi/jicofo.log - Prosody:
/var/log/prosody/prosody.log - Nginx:
/var/log/nginx/error.log