当前位置: 首页 > news >正文

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

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环境的安装

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

在这里插入图片描述

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

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构建属于自己的音视频会议系统完毕

欢迎大家一起加入华为云!

在这里插入图片描述

相关文章:

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

828华为云征文&#xff5c;华为云Flexus X实例docker部署Jitsi构建属于自己的音视频会议系统 华为云最近正在举办828 B2B企业节&#xff0c;Flexus X实例的促销力度非常大&#xff0c;特别适合那些对算力性能有高要求的小伙伴。如果你有自建MySQL、Redis、Nginx等服务的需求&a…...

25虾皮笔试shopee笔试测评sea笔试测评题型

虾皮笔试shopee笔试测评用的自己的笔试系统&#xff0c;全英文笔试&#xff1a; 1.Numerical Reasoning Test&#xff1a;10题&#xff0c;言语推断和数学计算 2. Verbal Reasoning Test&#xff1a;10题&#xff0c;言语理解&#xff0c;每题一段英文材料&#xff0c;选对错…...

启明云端乐鑫代理商,乐鑫ESP32无线芯片方案,物联网设备WiFi联动控制

随着智能和远程技术的飞速发展&#xff0c;物联网(IoT)逐渐出现在我们生活的每一个角落。乐鑫以其创新的无线通信技术&#xff0c;正成为智能家居、工业自动化和医疗设备等领域的推动者。 无线WiFi芯片模组不仅提供了强大的数据处理能力&#xff0c;还赋予了设备以直观的交互方…...

希尔排序/选择排序

前言&#xff1a; 本篇主要对常见的排序算法进行简要分析&#xff0c;代码中均以数组 arr[] { 5, 3, 9, 6, 2, 4, 7, 1, 8 } 为例&#xff0c;进行升序排列。 常见的排序算法有如下&#xff1a; 选择排序中&#xff0c;直接选择排序没有任何实际与教育意义&#xff0c;而堆排…...

漫谈设计模式 [16]:中介者模式

引导性开场 菜鸟&#xff1a;老鸟&#xff0c;我最近在开发一个聊天应用的时候遇到了点问题。每个用户都需要与其他用户直接通信&#xff0c;这让我在代码中写了很多复杂的逻辑来管理这些联系。这样下去&#xff0c;代码越来越难维护了。你有什么建议吗&#xff1f; 老鸟&…...

深度学习-物体检测YOLO(You only look once)

目录 一&#xff1a;YOLO算法的网络结构 流程 1.图像分割 2.图片在网格中的处理 3.非极大值抑制 二&#xff1a;训练 三&#xff1a;分类误差 四&#xff1a;与Faster R-CNN对比 一&#xff1a;YOLO算法的网络结构 GooleNet4个卷积2个全连接层 流程 输入原始图片resize到…...

redisson中的分布式锁

我的博客大纲 我的后端学习大纲 a.redisson概述&#xff1a; 1.Redisson是一个在Redis的基础上实现的Java驻内存数据网格&#xff08;In-Memory Data Grid&#xff09;2.redisson介绍官方文档地址&#xff1a;3.Redisson它不仅提供了一系列的分布式的Java常用对象&#xff0c;还…...

如何将镜像推送到docker hub

前言 这一篇应该是最近最后一篇关于docker的博客了&#xff0c;咱来个有始有终&#xff0c;将最后一步——上传镜像给他写完&#xff0c;废话不多说&#xff0c;直接进入正题。 登录 首先需要确保登录才能推送到你的仓库中去&#xff0c;在终端输入docker login,输入用户名和…...

GO 匿名函数

GO 匿名函数 文章目录 GO 匿名函数1. **回调函数**2. **goroutine 中的操作**3. **延迟操作&#xff08;defer&#xff09;**4. **内联处理逻辑**5. **闭包**6. **过滤、映射等函数式编程风格**7. **测试中的临时逻辑**8. **短期存在的逻辑操作**总结 匿名函数在 Go 语言中的使…...

JuiceFS 在多云架构中加速大模型推理

在大模型的开发与应用中&#xff0c;数据预处理、模型开发、训练和推理构成四个关键环节。本文将重点探讨推理环节。在之前的博客中&#xff0c;社区用户 BentoML 和贝壳的案例提到了使用 JuiceFS 社区版来提高模型加载的效率。本文将结合我们的实际经验&#xff0c;详细介绍企…...

【DCL】Dual Contrastive Learning for General Face Forgery Detection

文章目录 Dual Contrastive Learning for General Face Forgery Detectionkey points:贡献方法数据视图生成对比学习架构实例间对比学习实例内对比学习总损失函数实验实验细节定量结果跨数据集评估跨操作评估消融实验可视化Dual Contrastive Learning for General Face Forgery…...

https的特点

https的特点 优点&#xff1a;缺点&#xff1a;HTTPS是如何保证安全的&#xff1f; 优点&#xff1a; 使用HTTPS协议可以认证用户和服务器&#xff0c;确保数据发送到正确的客户端和服务器&#xff1b;使用HTTPS协议可以进行加密传输、身份认证&#xff0c;通信更加安全、防止…...

〖open-mmlab: MMDetection〗解析文件:mmdet/models/losses/cross_entropy_loss.py

目录 深入解析MMDetection中的CrossEntropyLoss及其应用1. 概述2. 核心函数2.1 cross_entropy2.1.1 函数定义和参数说明2.1.2 函数体2.1.3 总结 2.2 binary_cross_entropy2.2.1 _expand_onehot_labels函数2.2.2 binary_cross_entropy函数2.2.3 总结 2.3 mask_cross_entropy2.3.…...

【PyTorch单点知识】torch.nn.Embedding模块介绍:理解词向量与实现

文章目录 0. 前言1. 基础介绍1.1 基本参数1.2 可选参数1.3 属性1.4 PyTorch源码注释 2. 实例演示3. embedding_dim的合理设定4. 结论 0. 前言 按照国际惯例&#xff0c;首先声明&#xff1a;本文只是我自己学习的理解&#xff0c;虽然参考了他人的宝贵见解及成果&#xff0c;但…...

Jedis 操作 Redis 数据结构全攻略

Jedis 操作 Redis 数据结构全攻略 一 . 认识 RESP二 . 前置操作2.1 创建项目2.2 关于开放 Redis 端口的问题2.2.1 端口转发?2.2.2 端口配置 2.3 连接到 Redis 服务器 三 . 通用命令3.1 set 和 get3.2 exists 和 del3.3 keys3.4 expire、ttl、type 三 . string 相关命令3.1 mse…...

ctf.show靶场ssrf攻略

前言 欢迎来到我的博客 个人主页:北岭敲键盘的荒漠猫-CSDN博客 web351 解析:post传入url参数他就会访问。 解法: hackbar传入url参数写入https://127.0.0.1/flag.php web352 解析:post传入url参数&#xff0c;不能是127.0.0.1和localhost 解法:缩写127.1传入 web353 解析…...

在 PyTorch 中,如何使用 `pack_padded_sequence` 来提高模型训练的效率?

在PyTorch中&#xff0c;pack_padded_sequence 是一个非常有用的函数&#xff0c;它可以用来提高模型训练的效率&#xff0c;特别是在处理变长序列数据时。这个函数的主要作用是将填充后的序列数据打包&#xff0c;以便循环神经网络&#xff08;RNN&#xff09;可以更高效地处理…...

Gossip协议

主要用在Redis Cluster 节点间通信 Gossip协议&#xff0c;也称为流行病协议&#xff08;Epidemic Protocol&#xff09;&#xff0c;是一种在分布式系统中用于信息传播和故障探测的算法。 一、工作原理 随机选择传播对象 每个节点会定期随机选择一些其他节点作为传播对象。这…...

数据结构————双向链表

内存泄漏&#xff1a; 内存泄漏&#xff08;Memory Leak&#xff09;是指程序中已动态分配的内存由于某种原因程序未释放或无法释放&#xff0c;导致系统内存的浪费&#xff0c;严重时会导致程序运行缓慢甚至崩溃。这种情况在长时间运行的程序或大型系统中尤为常见&#xff0c…...

55 - I. 二叉树的深度

comments: true difficulty: 简单 edit_url: https://github.com/doocs/leetcode/edit/main/lcof/%E9%9D%A2%E8%AF%95%E9%A2%9855%20-%20I.%20%E4%BA%8C%E5%8F%89%E6%A0%91%E7%9A%84%E6%B7%B1%E5%BA%A6/README.md 面试题 55 - I. 二叉树的深度 题目描述 输入一棵二叉树的根节点…...

Flask RESTful 示例

目录 1. 环境准备2. 安装依赖3. 修改main.py4. 运行应用5. API使用示例获取所有任务获取单个任务创建新任务更新任务删除任务 中文乱码问题&#xff1a; 下面创建一个简单的Flask RESTful API示例。首先&#xff0c;我们需要创建环境&#xff0c;安装必要的依赖&#xff0c;然后…...

centos 7 部署awstats 网站访问检测

一、基础环境准备&#xff08;两种安装方式都要做&#xff09; bash # 安装必要依赖 yum install -y httpd perl mod_perl perl-Time-HiRes perl-DateTime systemctl enable httpd # 设置 Apache 开机自启 systemctl start httpd # 启动 Apache二、安装 AWStats&#xff0…...

线程与协程

1. 线程与协程 1.1. “函数调用级别”的切换、上下文切换 1. 函数调用级别的切换 “函数调用级别的切换”是指&#xff1a;像函数调用/返回一样轻量地完成任务切换。 举例说明&#xff1a; 当你在程序中写一个函数调用&#xff1a; funcA() 然后 funcA 执行完后返回&…...

linux arm系统烧录

1、打开瑞芯微程序 2、按住linux arm 的 recover按键 插入电源 3、当瑞芯微检测到有设备 4、松开recover按键 5、选择升级固件 6、点击固件选择本地刷机的linux arm 镜像 7、点击升级 &#xff08;忘了有没有这步了 估计有&#xff09; 刷机程序 和 镜像 就不提供了。要刷的时…...

微信小程序云开发平台MySQL的连接方式

注&#xff1a;微信小程序云开发平台指的是腾讯云开发 先给结论&#xff1a;微信小程序云开发平台的MySQL&#xff0c;无法通过获取数据库连接信息的方式进行连接&#xff0c;连接只能通过云开发的SDK连接&#xff0c;具体要参考官方文档&#xff1a; 为什么&#xff1f; 因为…...

IT供电系统绝缘监测及故障定位解决方案

随着新能源的快速发展&#xff0c;光伏电站、储能系统及充电设备已广泛应用于现代能源网络。在光伏领域&#xff0c;IT供电系统凭借其持续供电性好、安全性高等优势成为光伏首选&#xff0c;但在长期运行中&#xff0c;例如老化、潮湿、隐裂、机械损伤等问题会影响光伏板绝缘层…...

聊一聊接口测试的意义有哪些?

目录 一、隔离性 & 早期测试 二、保障系统集成质量 三、验证业务逻辑的核心层 四、提升测试效率与覆盖度 五、系统稳定性的守护者 六、驱动团队协作与契约管理 七、性能与扩展性的前置评估 八、持续交付的核心支撑 接口测试的意义可以从四个维度展开&#xff0c;首…...

大数据学习(132)-HIve数据分析

​​​​&#x1f34b;&#x1f34b;大数据学习&#x1f34b;&#x1f34b; &#x1f525;系列专栏&#xff1a; &#x1f451;哲学语录: 用力所能及&#xff0c;改变世界。 &#x1f496;如果觉得博主的文章还不错的话&#xff0c;请点赞&#x1f44d;收藏⭐️留言&#x1f4…...

AirSim/Cosys-AirSim 游戏开发(四)外部固定位置监控相机

这个博客介绍了如何通过 settings.json 文件添加一个无人机外的 固定位置监控相机&#xff0c;因为在使用过程中发现 Airsim 对外部监控相机的描述模糊&#xff0c;而 Cosys-Airsim 在官方文档中没有提供外部监控相机设置&#xff0c;最后在源码示例中找到了&#xff0c;所以感…...

[免费]微信小程序问卷调查系统(SpringBoot后端+Vue管理端)【论文+源码+SQL脚本】

大家好&#xff0c;我是java1234_小锋老师&#xff0c;看到一个不错的微信小程序问卷调查系统(SpringBoot后端Vue管理端)【论文源码SQL脚本】&#xff0c;分享下哈。 项目视频演示 【免费】微信小程序问卷调查系统(SpringBoot后端Vue管理端) Java毕业设计_哔哩哔哩_bilibili 项…...