首先我们要准备一些必要元素: 云服务 、域名、证书,三者缺一不可。
-
云服务器: 今天我对比了 华为云、阿里云、京东云、腾讯云。对比之下腾讯云会比较符合我的需求。
jitsi视频会议,对带宽有一定的要求,在钱包允许的情况下越大越好。
我购买的配置如下: 4核 8G 12M 180GB SSD盘 2000GB月流量 系统Ubuntu + Docker -
域名: 为了省事, 域名我就在腾讯一家买了包括后续的证书(即使和京东差了几块钱,我也嫌麻烦都在一家弄了)。 宗旨谁家便宜就用谁家,我买的是.top。
-
证书: 当你购买完域名,就可以申请证书了,当然也可以不用花钱,只不过免费的要每3个月申请一次。
注意:需要几次实名认证,庆幸的是实名速度很快不卡后续流程。
如果已经安装好了docker可直接从第二部开始。 不想选择默认的docker应用也可自行安装,大体的安装步骤如下:
使⽤docker安装参考:https://jitsi.github.io/handbook/docs/devops-guide/devops-guide-docker/ ,更多配置请参考
1.安装docker
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
验证docker
docker ps
如果提示如图这样,说明没有权限只要执行
# 给当前用户加一下权限
sudo usermod -aG docker $USER
# 或者切换用户
su
image.png
如果未启动,使⽤下⾯命令启动docker
sudo systemctl start docker.service
设置docker镜像加速并重启docker
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-EOF
{
"registry-mirrors": [
"https://dockerproxy.com",
"https://mirror.baidubce.com",
"https://docker.m.daocloud.io",
"https://docker.nju.edu.cn",
"https://docker.mirrors.sjtug.sjtu.edu.cn"
]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker</pre>
2.下载jitsi docker release
下载⻚:https://github.com/jitsi/docker-jitsi-meet/releases/latest
image.png3.解压并进⼊⽂件夹
解压命令:
# all.tar.gz替换你下载的文件名如:docker-jitsi-meet-stable-9584-1.tar
tar -xzf all.tar.gz
# 然后进入到文件夹中
cd docker-jitsi-meet-stable-9584-1
4.配置环境⽂件.env
# 将env.example拷贝为.env , 我们的修改是对着.env操作的,而不是env.example这个源文件
cp env.example .env
修改的地⽅:
PUBLIC_URL=https://test.com:8443 # 对外发布的url,写你购买的域名
HTTPS_PORT=8443 # 对外发布的端⼝,如果不想麻烦的备案用这个端口即可
5.设置较强的密码
⽤gen-passwords.sh
脚本,设置完可在.env
中看到
# 直接只想着脚本即可
./gen-passwords.sh
6.创建配置⽂件⽬录
- For linux:
mkdir -p ~/.jitsi-meet-cfg/{web,transcripts,prosody/config,prosody/prosodyplugins-custom,jicofo,jvb,jigasi,jibri}
- For Windows:
echo web,transcripts,prosody/config,prosody/prosody-pluginscustom,jicofo,jvb,jigasi,jibri | % { mkdir "~/.jitsi-meet-cfg/$_" }
7.运⾏容器
# 安装⾼版本的docker⾃带docker compose命令
docker compose up -d
8.防⽕墙开启
# 也可能叫 安全组 因平台决定
80/tcp for Web UI HTTP (可以不开启,仅仅是跳转到https,如果在.env中配置了ENABLE_HTTP_REDIRECT=1 )
443/tcp for Web UI HTTPS,如果你在.env中配置的端⼝是8443则开启8443
10000/udp for RTP media over UDP
以腾讯云为例子-操作如下:
登录云服务器--->轻量应用服务器--->防火墙模版--->创建模版
image.png 按照下图规则进行添加: image.png 关联到云服务实例: image.png如果网站域名没有备案是不能访问80和443端口的。
9.解析域名
image.png10.为你的域名设置证书,开启https
如果不设置证书的话,在浏览器⾥你的域名前⾯会有个不安全的标识,且只能在浏览器访问,不能在⼿机和电脑端访问
开启证书⽅式如下:
下载证书
image.png image.png-
申请免费证书下载到本地,放在docker-compose.yml 同级⽬录并解压,重命名为keys
-
修改.crt⽂件为cert.crt
- 修改.key⽂件为cert.key image.png
-
把文件夹拖入到docker-jitsi-meet-stable-9584-1
文件夹中
配置docker-compose.yml
services:
web:
...
volumes:
...
- ./keys:/config/keys
image.png
# 删除容器并重新创建
docker compose down
docker compose up -d
11: 允许多⼈会议
如果没有这个步骤,2⼈以上进⼊视频的话,会强制关闭摄像头。
在.env ⽂件配置 JVB_ADVERTISE_IPS = 公⽹ip,内⽹ip (内⽹ip可以按需配置,如果在内
⽹访问的话)
防⽕墙开发10000端⼝ sudo firewall-cmd --permanent --add-port=10000/udp
公网IP在云服务器控制台可以找到
image.png12.校验是否成功
ping一下自己的域名不加端口号
浏览器访问https://test.com:8443 ,就是你配置的域名加端口号
网友评论