828华为云征文|华为云Flexus X实例docker部署Jitsi构建属于自己的音视频会议系统

ops/2024/11/14 13:17:07/

dockerJitsi_0">828华为云征文|华为云Flexus X实例docker部署Jitsi构建属于自己的音视频会议系统

  • 华为云最近正在举办828 B2B企业节,Flexus X实例的促销力度非常大,特别适合那些对算力性能有高要求的小伙伴。如果你有自建MySQL、Redis、Nginx等服务的需求,一定不要错过这个机会。赶紧去看看吧!

什么是华为云Flexus X实例

  • 华为云Flexus X实例云服务是新一代开箱即用、体验跃级、面向中小企业和开发者打造的高品价比云服务产品。
  • Flexus云服务器X实例是新一代面向中小企业和开发者打造的柔性算力云服务器,可智能感知业务负载,适用于电商直播、企业建站、开发测试环境、游戏服务器、音视频服务等中低负载场景。

开始接触华为云Flexus云服务器X实例

  • 获取华为云Flexus云服务器X实例后第一步就是先去华为云上重置服务器密码
    在这里插入图片描述

    在这里插入图片描述

  • 重置完毕后用ssh工具登录华为云服务器,这里我用的是finalshell,也可以用其他工具登陆比如xshell或者Putty都可以
    在这里插入图片描述

  • 登录上去查看硬盘大小,可以看到是100g硬盘,硬盘总大小是正常的

root@flexusx-ebe8:~# df -h
Filesystem      Size  Used Avail Use% Mounted on
tmpfs           1.2G  1.1M  1.2G   1% /run
/dev/vda1        99G  4.2G   90G   5% /
tmpfs           5.7G     0  5.7G   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           1.2G  4.0K  1.2G   1% /run/user/0
  • 然后输入 ufw status可以看到默认防火墙是关闭的,因此我们就不需要额外再去配置端口开放相关的配置,只要在华为云安全组配置端口开放就可以了
root@flexusx-ebe8:~# ufw status
Status: inactive

docker_38">docker环境的安装

  • 然后进行docker容器的安装,安装最新版本的docker
  • 这里因为docker现在已经无法直接通过网络安装,所以我们通过离线安装的方式安装docker环境
  • 从官网下载离线包
https://download.docker.com/linux/ubuntu/dists/jammy/pool/stable/amd64/

在这里插入图片描述

  • 如图所示,把离线包传到服务器上,进行安装
dpkg -i *.deb
root@flexusx-ebe8:/home/docker# docker -v
Docker version 27.1.2, build d01f264
  • 至此docker容器环境安装完毕

dockercompose_66">docker-compose安装

  • docker容器安装完毕后,开始安装docker-compose
  • https://github.com/docker/compose/tags离线下载docker-compose的包
  • 因为我是x86-64的环境,所以从中找到docker-compose-linux-x86_64进行下载
  • 下载完毕后上传到服务器,然后执行 sudo cp -f docker-compose-linux-x86_64 /usr/local/bin/docker-compose
  • 然后授予可执行权限,sudo chmod +x /usr/local/bin/docker-compose
  • 查看docker-compose版本
root@flexusx-ebe8:/# sudo docker-compose -v
Docker Compose version v2.29.2
  • 这样docker-compose就安装完毕了

什么是Jitsi

  • Jitsi 是一个开源的音视频会议系统,旨在提供高质量、实时的视频和音频通讯。它的核心功能包括视频会议、音频通话、屏幕共享、实时聊天等,支持多个用户同时参与。Jitsi 的开源特性使得它在隐私、可定制性和灵活性方面比很多商业视频会议解决方案更具优势。

Jitsi 的主要功能

  • 视频会议:支持高清、多人参与的视频会议,性能强劲。
  • 音频通话:清晰的音频通话质量,适合多人会议和私人通话。
  • 屏幕共享:允许与会者分享他们的桌面或应用窗口,适用于远程协作和演示。
  • 实时聊天:内置文字聊天功能,可以在会议中发送消息。
  • 会议录制:支持会议的录制(需要与 Jibri 组件集成)。
  • 安全保障:支持端到端加密,确保会议内容的安全性和隐私性。
  • 无客户端需求:基于 WebRTC 技术,用户可以直接通过浏览器参与会议,无需安装额外软件。
  • 移动应用:提供 iOS 和 Android 版的移动应用程序,方便用户随时随地参与会议。

Jitsi安装

  • 服务器输入 wget $(curl -s https://api.github.com/repos/jitsi/docker-jitsi-meet/releases/latest | grep 'zip' | cut -d\" -f4)
root@flexusx-ebe8:/home/docker/jitsi# wget $(curl -s https://api.github.com/repos/jitsi/docker-jitsi-meet/releases/latest | grep 'zip' | cut -d\" -f4)
--2024-09-11 15:51:31--  https://api.github.com/repos/jitsi/docker-jitsi-meet/zipball/stable-9646
Resolving api.github.com (api.github.com)... 20.205.243.168
Connecting to api.github.com (api.github.com)|20.205.243.168|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://codeload.github.com/jitsi/docker-jitsi-meet/legacy.zip/refs/tags/stable-9646 [following]
--2024-09-11 15:51:32--  https://codeload.github.com/jitsi/docker-jitsi-meet/legacy.zip/refs/tags/stable-9646
Resolving codeload.github.com (codeload.github.com)... 20.205.243.165
Connecting to codeload.github.com (codeload.github.com)|20.205.243.165|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [application/zip]
Saving to: ‘stable-9646’stable-9646                                       [  <=>                                                                                           ] 356.14K  1.06MB/s    in 0.3s    2024-09-11 15:51:33 (1.06 MB/s) - ‘stable-9646’ saved [364683]
  • 解压 unzip stable-9646
  • 进入解压后的文件夹,查看文件
root@flexusx-ebe8:/home/docker/jitsi/jitsi-docker-jitsi-meet-1797ac8# ls
base          docker-compose.yml  examples          jibri      jigasi      LICENSE           Makefile        prosody     resources
base-java     env.example         gen-passwords.sh  jibri.yml  jigasi.yml  log-analyser      prometheus      README.md   web
CHANGELOG.md  etherpad.yml        grafana.yml       jicofo     jvb         log-analyser.yml  prometheus.yml  release.sh  whiteboard.yml
  • 通过复制和调整来创建文件env.example,输入cp env.example .env
  • 通过运行gen-passwords.sh 脚本在文件的安全部分选项中设置强密码, 执行 ./gen-passwords.sh
  • 创建config文件夹, mkdir -p ~/.jitsi-meet-cfg/{web,transcripts,prosody/config,prosody/prosody-plugins-custom,jicofo,jvb,jigasi,jibri}
  • 执行docker-compose up -d,启动服务
root@flexusx-ebe8:/home/docker/jitsi/jitsi-docker-jitsi-meet-1797ac8# docker-compose up -d
WARN[0000] /home/docker/jitsi/jitsi-docker-jitsi-meet-1797ac8/docker-compose.yml: the attribute `version` is obsolete, it will be ignored, please remove it to avoid potential confusion 
[+] Running 2/20⠋ jicofo [⠀⠀⠀] Pulling                                                                                                                                                          8.0s ⠴ 09b9b4aae3cd Waiting                                                                                                                                                        4.6s ⠴ 443993b6bb63 Waiting                                                                                                                                                        4.6s ⠴ 1932e670f11f Waiting                                                                                                                                                        4.6s ⠋ web [⠀⠀⠀] Pulling                                                                                                                                                             8.0s ⠸ b3db3cf051a2 Waiting                                                                                                                                                        4.4s ⠸ 7418ce87c737 Waiting                                                                                                                                                        4.4s ⠸ b9ab339cf963 Pulling fs layer                                                                                                                                               4.4s ⠋ prosody [⠀⣿⠀⣿⠀⠀⠀⠀] Pulling                                                                                                                                                    8.0s ⠦ efc2b5ad9eec Retrying in 4 seconds                                                                                                                                          4.6s ✔ 8b3973c9358f Download complete                                                                                                                                              2.1s ⠦ 6551d279813e Retrying in 3 seconds                                                                                                                                          4.6s ✔ 4f4fb700ef54 Download complete                                                                                                                                              3.6s ⠦ 33d1be951f3b Waiting                                                                                                                                                        4.6s ⠦ aa251754683e Waiting                                                                                                                                                        4.6s ⠦ 7bbb699ede75 Waiting                                                                                                                                                        4.6s ⠦ 8d4ab81b2898 Waiting                                                                                                                                                        4.6s ⠋ jvb [⠀⠀] Pulling                                                                                                                                                              8.0s ⠸ 8a5ef495b9b8 Waiting                                                                                                                                                        4.4s ⠸ 454a67a8ca66 Pulling fs layer 
  • 启动完毕后查看运行状态
root@flexusx-ebe8:/home/docker/jitsi/jitsi-docker-jitsi-meet-1797ac8# docker ps
CONTAINER ID   IMAGE                       COMMAND   CREATED          STATUS          PORTS                                                                            NAMES
c60c5644dab1   jitsi/web:stable-9646       "/init"   41 seconds ago   Up 40 seconds   0.0.0.0:8000->80/tcp, :::8000->80/tcp, 0.0.0.0:8443->443/tcp, :::8443->443/tcp   jitsi-docker-jitsi-meet-1797ac8-web-1
0c8775add81e   jitsi/jicofo:stable-9646    "/init"   41 seconds ago   Up 40 seconds   127.0.0.1:8888->8888/tcp                                                         jitsi-docker-jitsi-meet-1797ac8-jicofo-1
b8d2179e5e4b   jitsi/jvb:stable-9646       "/init"   41 seconds ago   Up 40 seconds   127.0.0.1:8080->8080/tcp, 0.0.0.0:10000->10000/udp, :::10000->10000/udp          jitsi-docker-jitsi-meet-1797ac8-jvb-1
1e442e3bc909   jitsi/prosody:stable-9646   "/init"   45 seconds ago   Up 40 seconds   5222/tcp, 5269/tcp, 5280/tcp, 5347/tcp                                           jitsi-docker-jitsi-meet-1797ac8-prosody-1
  • 此时docker部署Jitsi完毕,但还需要去华为云安全组开放端口

配置Flexus云服务器X实例安全组

  • 经过上面部署srs服务,这时候服务是已经部署完毕了,但是我们还没法通过外网进行访问,还需要对Flexus云服务器X安全组的配置进行修改

  • 进入安全组的配置页面
    在这里插入图片描述

  • 新建安全组
    在这里插入图片描述

  • 这里我们开放30080,30081,30082端口

  • 然后加入新建的安全组
    在这里插入图片描述

  • 这样我们的实例的端口也就开放成功了

开始使用Jitsi

  • 访问页面 https://弹性公网ip:8443/
    在这里插入图片描述

  • 查看一下配置
    在这里插入图片描述

  • 也可以背景替换,虚化
    在这里插入图片描述

  • 创建会议加入会议
    在这里插入图片描述

  • 至此华为云Flexus X实例docker部署Jitsi构建属于自己的音视频会议系统完毕

欢迎大家一起加入华为云

在这里插入图片描述


http://www.ppmy.cn/ops/111691.html

相关文章

Kafka是如何保证数据的安全性、可靠性和分区的

Kafka作为一个高性能、可扩展的分布式流处理平台&#xff0c;通过多种机制来确保数据的安全性、可靠性和分区的有效管理。以下是关于Kafka如何保证数据安全性、可靠性和分区的详细解析&#xff1a; 一、数据安全性 SSL/TLS加密&#xff1a; Kafka支持SSL/TLS协议&#xff0c;通…

PHP高效协同无缝对接一站式生产管理系统小程序源码

​高效协同&#xff0c;无缝对接 —— 一站式生产管理系统的魅力 &#x1f680; 开篇&#xff1a;生产管理的革新之旅 在快节奏的现代工业生产中&#xff0c;每一个环节的顺畅与高效都至关重要。你是否曾为部门间的信息孤岛而烦恼&#xff1f;是否渴望一个能够统筹全局、高效协…

Spring Boot-API网关问题

****### Spring Boot API 网关问题分析与解决方案 在微服务架构中&#xff0c;API 网关扮演着非常重要的角色。它位于客户端和微服务之间&#xff0c;充当所有外部请求的入口&#xff0c;负责请求的路由、聚合、鉴权、限流等功能。Spring Boot 提供了多种方式实现 API 网关&am…

AI教你学Python :详解Python控制流和循环结构(补充)

详解Python控制流和循环结构 控制流是程序设计中至关重要的一部分。它允许程序根据不同条件分支执行不同的代码块。Python中主要有以下几种控制流结构&#xff1a; 1. 条件语句 1.1 if 语句 if 语句用于根据条件判断执行不同的代码块。 示例代码&#xff1a; age 18if a…

基于JavaWeb开发的Java+SpringMvc+vue+element实现上海汽车博物馆平台

基于JavaWeb开发的JavaSpringMvcvueelement实现上海汽车博物馆平台 &#x1f345; 作者主页 网顺技术团队 &#x1f345; 欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; &#x1f345; 文末获取源码联系方式 &#x1f4dd; &#x1f345; 查看下方微信号获取联系方式 承接…

华为的仓颉和ArkTS这两门语言有什么区别

先贴下官网&#xff1a; ArkTs官网 仓颉官网 ArkTS的官网介绍说&#xff0c;ArkTS是TypeScript的进一步强化版本&#xff0c;简单来说就是包含了TS的风格&#xff0c;但是做了一些改进。 了解TypeScript的朋友都应该知道&#xff0c;其实TypeScript就是JavaScript的改进版本&…

vue3使用panolens.js实现全景,带有上一个下一个,全屏功能

panolens官方文档Home - Panolens 1.加载核心js库 &#xff08;文件在untils里面&#xff09; import /utils/panolens/three.min.js; import /utils/panolens/panolens.min.js; /项目中 /railway/modalIframe/playPanorama/player/js/panolens-ht.js 为修改后版本 可以获取…

C#中的委托

Action委托 Action 委托是 C# 中预定义的委托类型之一&#xff0c;它是泛型委托 Action<T...> 的非泛型形式&#xff0c;用于表示不接受返回值的方法。Action 委托通常用于需要执行操作但不需要返回结果的场景&#xff0c;比如事件处理、异步编程或回调函数。 Action 委…