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

如何在 Linux 服务器上部署 Pydio Cells 教程

简介

Pydio Cells 是一个开源的文档共享和协作平台,专为你的组织设计。它允许你在组织内部分享文档和文件,并让你完全掌控文档共享环境。

在本教程中,我们将向你展示如何在 Alma Linux 9 服务器上安装 Pydio Cells。你将使用 MariaDB 数据库服务器和 Httpd Web 服务器来安装 Pydio Cells。

准备工作

服务器准备

必要前提:

  • 一个充满求知欲的大脑。
  • 一台 Linux 服务器(推荐腾讯云、阿里云或雨云等)。

我将以 雨云 为例,带大家创建一台自己的云服务器,以便学习本篇文章的内容。

注册链接: https://rainyun.ivwv.site

创建雨云服务器

以下步骤仅供参考,请根据实际需求选择配置。

  • 点击 云产品云服务器立即购买
  • 选择距离你较近的区域,以保证低延迟。

img

  • 按照自己需求选择配置,按照自己需求是否预装Docker。
  • 最后按照提示进行购买。
  • 购买后等待机器部署完毕,点击刚刚创建好的服务器,进入管理面板,找到远程连接相关信息。

img

  • 我们使用 PowerShell 进行 SSH 远程连接到服务器,Win+R 打开运行窗口,输入 powershell 后点击确定。

img

  • 输入 ssh root@你的服务器IP 例如 ssh root@154.9.227.239 回车后,首次需要输入 yes,再次回车后即可登录服务器。

img

  • 到此为止,我们的云服务器就远程连接上了。

安装依赖

在安装 Pydio Cells 之前,你需要先在你的 Alma Linux 服务器上安装依赖项。这包括 EPEL 仓库、MariaDB 数据库服务器、Httpd Web 服务器以及一些系统工具,如 wget 和 nano。

首先,运行下面的 dnf 命令来添加 EPEL 仓库,并安装 MariaDB 服务器和 Httpd Web 服务器。输入 Y 来确认安装。

sudo dnf install epel-release mariadb-server httpd wget nano

img

安装完成后,运行下面的 systemctl 命令来启动、启用和验证 httpd 服务。你将会看到 httpd 服务正在运行且已启用。

sudo systemctl enable --now httpd
sudo systemctl status httpd

img

现在,运行以下命令来启动并启用 mariadb 服务。然后,验证它以确保服务正在运行。

sudo systemctl enable --now mariadb
sudo systemctl status mariadb

在以下输出中,你可以看到 MariaDB 服务器正在运行且已启用。

img

最后,运行下面的 firewall-cmd 命令,在你的系统上打开 httphttps 端口。然后,重新加载 firewalld 规则以应用你的更改。

sudo firewall-cmd --add-service={http,https} --permanent
sudo firewall-cmd --reload

配置 MariaDB 服务器

安装完依赖项后,你需要保护 MariaDB 服务器的安装,并为 Pydio Cells 服务器安装创建一个新的数据库和用户。你将使用 mariadb-secure-installation 命令来保护 MariaDB,然后通过 mariadb 客户端创建一个新的数据库和用户。

要保护 MariaDB 服务器的安装,请执行下面的 mariadb-secure-installation 命令。

sudo mariadb-secure-installation

在此过程中,你将被问及以下配置:

  • 切换本地身份验证到 unix_socket?输入 n。
  • 设置新的 MariaDB root 密码。输入 y 确认,然后输入你的 MariaDB 服务器部署的新密码。
  • 删除匿名用户?输入 y 确认。
  • 从部署中删除默认的测试数据库?输入 y 确认。
  • 禁止 MariaDB root 从远程连接登录?输入 y 确认。
  • 重新加载表权限并应用更改。输入 y 并按 ENTER。

现在 MariaDB 服务器已受到保护,你将为 Pydio Cells 安装创建一个新的数据库和用户。

使用下面的 mariadb 命令登录到 MariaDB 服务器。出现提示时,输入你的 MariaDB root 密码。

sudo mariadb -u root -p

运行以下查询以创建新的数据库 cells 和新的用户 pydio,密码为 p4ssw0rd。你可以根据需要调整数据库详细信息。

CREATE DATABASE cells;
CREATE USER 'pydio'@'localhost' IDENTIFIED BY 'p4ssw0rd';
GRANT ALL PRIVILEGES ON cells.* to 'pydio'@'localhost';
FLUSH PRIVILEGES;

img

现在,检查用户 pydio 的权限,以确保对数据库 cells 的权限。

SHOW GRANTS FOR 'pydio'@'localhost';

你可以在下面看到数据库 cells 可以通过用户 pydio 访问。

img

输入 quit 以退出 MariaDB 服务器。

下载 Pydio Cells

配置完 MariaDB 数据库后,你就可以下载 Pydio Cells 了。在本节中,你将设置 pydio 用户,下载 Pydio Cells,设置安装目录和环境变量,并允许 Pydio Cells 在特权端口上运行。

使用以下命令创建一个新的用户和组 pydio

sudo useradd -m -s /bin/bash pydio

使用以下命令创建新目录 /opt/pydio/bin/var/cells。然后将这两个目录的所有权更改为用户 pydio

sudo mkdir -p /opt/pydio/bin /var/cells
sudo chown -R pydio:pydio /opt/pydio/bin /var/cells

现在使用 nano 编辑器创建一个新的 env 文件 /etc/profile.d/cells-env.sh

sudo nano /etc/profile.d/cells-env.sh

输入以下脚本,为 Pydio Cells 设置环境变量。请确保将 CELLS_EXTRERNAL 地址更改为与你的 Pydio 安装的域名匹配。

export CELLS_WORKING_DIR=/var/cells
export CELLS_BIND=127.0.0.1:8080
export CELLS_EXTERNAL=https://cells.example.local

完成后,保存并退出文件。

现在,运行以下命令,使 env 文件 /etc/profile.d/cells-env.sh 可执行。

sudo chmod +x /etc/profile.d/cells-env.sh

接下来,运行以下命令,将适用于 Linux 的 Pydio Cells 二进制文件下载到 /opt/pydio/bin/cells

export distribId=cells
wget -O /opt/pydio/bin/cells https://download.pydio.com/latest/${distribId}/release/{latest}/linux-amd64/${distribId}

下载完成后,运行以下命令,使 cells 二进制文件可执行,并允许它绑定在特权端口上。

sudo chmod a+x /opt/pydio/bin/cells
sudo setcap 'cap_net_bind_service=+ep' /opt/pydio/bin/cells
sudo ln -s /opt/pydio/bin/cells /usr/local/bin/cells

现在,使用以下命令以用户 pydio 身份登录:

su - pydio

使用以下命令检查 Pydio Cells 的环境变量 - 确保输出与 env 文件 /etc/profile.d/cells-env.sh 中的内容匹配。

echo $CELLS_WORKING_DIR
echo $CELLS_BIND
echo $CELLS_EXTERNAL

img

最后,使用以下命令检查 cells 版本。

cells version

在以下输出中,你可以看到 Pydio Cells 的版本。

img

通过命令行安装 Pydio Cells

现在你将从命令行开始安装 Pydio Cells。使用 cells 命令,你将使用 MariaDB 数据库设置 Pydio Cells 安装,设置管理员用户和密码,并设置用于存储用户数据的存储位置。

首先,运行以下命令,从终端配置 Pydio Cells 安装。

cells configure --cli

现在你将被提示进行以下配置:

  • 数据库连接:选择通过 TCP,然后输入你的 MariaDB 数据库主机、端口、用户和密码的详细信息。
  • MongoDB 配置:输入 n 表示否。
  • 管理用户配置:输入你的 Pydio Cells 的管理员用户和密码。
  • 默认存储位置:按 ENTER 使用默认值并继续。

此过程完成后,你将看到以下输出:

img

为 Pydio Cells 设置 systemd 服务文件

在上一步中,你可以使用 cells start 命令启动 Pydio Cells。为了更方便,你将使用 systemd systemctl 来管理 Pydio Cells 服务。因此,现在你将创建一个新的 systemd 服务文件。

使用 nano 编辑器创建一个新的 /etc/systemd/system/cells.service 文件。

sudo nano /etc/systemd/system/cells.service

插入以下配置以将 Pydio Cells 作为 systemd 服务运行。请确保使用你的域名更改 CELLS_EXTERNAL

[Unit]
Description=Pydio Cells
Documentation=https://pydio.com
Wants=network-online.target
After=network-online.target
AssertFileIsExecutable=/opt/pydio/bin/cells[Service]
User=pydio
Group=pydio
PermissionsStartOnly=true
AmbientCapabilities=CAP_NET_BIND_SERVICE
ExecStart=/opt/pydio/bin/cells start
Restart=on-failure
StandardOutput=journal
StandardError=inherit
LimitNOFILE=65536
TimeoutStopSec=5
KillSignal=INT
SendSIGKILL=yes
SuccessExitStatus=0
WorkingDirectory=/home/pydio# Add environment variables
Environment=CELLS_WORKING_DIR=/var/cells
Environment=CELLS_BIND=127.0.0.1:8080
Environment=CELLS_EXTERNAL=https://cells.example.local[Install]
WantedBy=multi-user.target

保存文件并退出编辑器。

现在,运行以下命令来重新加载 systemd 管理器。

sudo systemctl daemon-reload

最后,执行以下 systemctl 命令来启动、启用和验证 cells 服务。

sudo systemctl enable --now cells
sudo systemctl status cells

在此输出中,你可以看到 cells 服务作为 systemd 服务在后台运行。

img

将 Httpd 配置为反向代理

此时,Pydio Cells 在你的 Alma Linux 服务器上以端口 8080 运行。为了使客户端可以访问它,你将创建一个 Httpd 虚拟主机文件作为 Pydio Cells 服务器的反向代理。你还将从 Letsencrypt 生成 SSL/TLS 证书,以确保客户端和 Pydio Cells 服务器之间的数据传输安全。

首先,运行以下 dnf 命令以将 certbot 安装到你的系统。

sudo dnf install certbot -y

现在,创建一个新的虚拟 Web 根目录,并将所有权更改为 apache 用户。

sudo mkdir -p /var/www/html/cells/public_html
sudo chown -R apache:apache /var/www/html/cells/public_html

运行以下 certbot 命令,为 Pydio Cells 生成 SSL/TLS 证书。请确保使用你的信息更改电子邮件地址和域名。

sudo certbot certonly --agree-tos --email user@email.com --no-eff-email --webroot -w /var/www/html/cells/public_html -d cells.example.local

接下来,使用 nano 编辑器创建一个新的 Httpd 虚拟主机配置 /etc/httpd/conf.d/pydio.conf

sudo nano /etc/httpd/conf.d/pydio.conf

插入以下配置,并确保使用你的域名更改 ServerName 选项。

<VirtualHost *:80>
ServerName cells.example.localRewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}RewriteCond %{SERVER_NAME} =cells.example.local
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost><VirtualHost *:443>
ServerName cells.example.local
AllowEncodedSlashes On
RewriteEngine On# be aware of this
# Allow reverse proxy via self-signed certificates
SSLProxyEngine On
SSLProxyVerify none
SSLProxyCheckPeerCN off
SSLProxyCheckPeerName off
SSLProxyCheckPeerExpire off## The order of the directives matters.
# If Cells is not running with https, consider using ws instead of wss
ProxyPassMatch "/ws/(.*)" wss://localhost:8080/ws/$1 nocanon## This rewrite condition is required if using Cells-Sync
# RewriteCond %{HTTP:Content-Type} =application/grpc [NC]
# RewriteRule /(.*) h2://localhost:8080/$1 [P,L]ProxyPass "/" "https://127.0.0.1:8080/"
ProxyPassReverse "/" "https://127.0.0.1:8080/"ErrorLog /var/log/httpd/error.log
CustomLog /var/log/httpd/access.log combinedSSLCertificateFile /etc/letsencrypt/live/cells.example.local/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/cells.example.local/privkey.pem
#Include /etc/letsencrypt/options-ssl-apache.conf
</VirtualHost>

保存文件,并在完成后退出编辑器。

现在,运行以下 apachectl 命令以验证你的 Apache 语法。如果你有正确的 Apache 配置,你将看到输出 Syntax is OK

sudo apachectl configtest

最后,运行以下 systemctl 命令来重新启动 httpd Web 服务器并应用你的更改。完成此操作后,你的 Pydio Cells 安装应该已完成并且可访问。

sudo systemctl restart httpd

img

访问 Pydio Cells

打开你的 Web 浏览器并访问你的 Pydio Cells 安装的域名,例如 https://cells.example.local。如果安装成功,你将看到 Pydio Cells 登录页面。

输入你的管理员用户名和密码以登录。

img

如果你有正确的凭据,你将看到如下所示的 Pydio Cells 用户仪表板。

img

从这里,你现在可以尝试将文件从你的本地计算机上传到 Pydio Cells 服务器。在以下屏幕截图中,我已将文件上传到 Pydio Cells 并且成功。

img

相关链接
雨云 - 新一代云服务提供商: https://rainyun.ivwv.site
我的博客:https://blog.ivwv.site

相关文章:

如何在 Linux 服务器上部署 Pydio Cells 教程

简介 Pydio Cells 是一个开源的文档共享和协作平台&#xff0c;专为你的组织设计。它允许你在组织内部分享文档和文件&#xff0c;并让你完全掌控文档共享环境。 在本教程中&#xff0c;我们将向你展示如何在 Alma Linux 9 服务器上安装 Pydio Cells。你将使用 MariaDB 数据库…...

Halcon例程代码解读:安全环检测(附源码|图像下载链接)

安全环检测核心思路与代码详解 项目目标 本项目的目标是检测图像中的安全环位置和方向。通过形状匹配技术&#xff0c;从一张模型图像中提取安全环的特征&#xff0c;并在后续图像中识别多个实例&#xff0c;完成检测和方向标定。 实现思路 安全环检测分为以下核心步骤&…...

Selenium 全面指南

Selenium 是一个强大的 Web 自动化工具&#xff0c;支持多种浏览器和语言绑定。 1. Selenium 的基本概念 WebDriver&#xff1a;Selenium 提供的核心接口&#xff0c;用于控制浏览器操作。显式等待&#xff1a;等待特定条件满足后再执行操作。隐式等待&#xff1a;全局设置一个…...

#error: WinSock.h has already been included解决方案

原因&#xff1a; 在工程中使用了 Boot 库之后&#xff0c;使用了socket、tcp 相关的头文件&#xff0c;在其他地方还是包括了头文件<windows.h>&#xff0c;该头文件内包含了<winsock.h>。导致遇到报错问题&#xff1a;WinSock.h has already been included 解决…...

2.Couchbase 的增量查询优化

在 Couchbase 中实现增量查询的优化是关键&#xff0c;尤其当数据量庞大时。通过合适的策略&#xff0c;可以显著提高增量查询的效率&#xff0c;确保系统在处理实时数据时的响应速度和性能。下面是一些针对 Couchbase 增量查询的优化策略。 1. 使用索引优化查询 为了提升增量…...

汽车IVI中控开发入门及进阶(46):FFmpeg

概述: FFmpeg 是领先的多媒体框架,能够解码、编码、 转码、复用、解复用、流、过滤和播放 几乎所有人类和机器创建的东西。它支持最模糊的古老格式,直到最前沿。无论它们是由某个标准委员会、社区还是公司设计的。它还具有高度的可移植性:FFmpeg 在各种构建环境、机器架构…...

Spring Boot 中的 @Scheduled 定时任务以及开关控制

Scheduled注解是Spring框架&#xff08;包括Spring Boot&#xff09;中用于实现定时任务的一种方式。以下是对Scheduled注解的详细解析&#xff1a; 一、基本概念 Scheduled注解允许开发者在Spring容器中定义定时任务。通过简单地在一个方法上添加Scheduled注解&#xff0c;S…...

服务器证书原理

CA&#xff08;Certificate Authority&#xff09;证书是由 证书颁发机构&#xff08;CA&#xff09;本身签名的。具体来说&#xff0c;这取决于 CA 的类型和其在信任链中的位置&#xff1a; 1. 自签名证书 根 CA 证书 是信任链的起点&#xff0c;由 CA 自己签名。它们是信任链…...

重温设计模式--代理、中介者、适配器模式的异同

文章目录 1、相同点2、不同点 1、相同点 目的都是为了更好地处理对象之间的关系&#xff1a;这三种模式都是在软件设计中用于处理对象之间的关联和交互&#xff0c;以达到优化系统结构、增强可维护性等目的。它们都在一定程度上隐藏了对象之间的某些细节或者复杂性&#xff0c…...

2024第十六届蓝桥杯模拟赛(第二期)-Python

# 2024第十六届蓝桥杯模拟赛&#xff08;第二期&#xff09;-Python题解 # 自己改注释# -----------------------1------------------------ # def prime(x): # if x < 2: # return 0 # for i in range(2, int(x ** 0.5) 1): # if x % i 0: # …...

分布式系统中的防抖策略一致性与性能优化

目录 引言分布式系统的挑战防抖策略简介确保多实例间一致性的方法 幂等操作TTL缓存 分布式一致性事件总线或消息队列异步任务调度器客户端或API网关层面的防抖一致性哈希与分区限流和熔断机制 避免锁竞争导致的性能瓶颈Java示例代码结论 引言 在现代软件架构中&#xff0c;…...

项目代码第6讲:UpdownController.cs;理解 工艺/工序 流程、机台信息;前端的“历史 警报/工艺 记录”

一、UpdownController.cs 1、前端传入 当用户在下图的“记录查询”中的 两个界面选项 中,点击“导出”功能时,向后端发起请求,请求服务器下载文件的权限 【权限是在Program.cs中检测的,这个控制器里只需要进行“谁在哪个接口下载了文件”的日志记录】 【导出:是用户把…...

【计算机视觉基础CV-图像分类】03-深度学习图像分类实战:鲜花数据集加载与预处理详解

本文将深入介绍鲜花分类数据集的加载与处理方式&#xff0c;同时详细解释代码的每一步骤并给出更丰富的实践建议和拓展思路。以实用为导向&#xff0c;为读者提供从数据组织、预处理、加载到可视化展示的完整过程&#xff0c;并为后续模型训练打下基础。 前言 在计算机视觉的深…...

大模型应用技术系列(一):大模型应用整体技术栈浅析

RAG相关的技术学习暂时告一段落了,接下来尝试探索新的学习方向。这就引入一个问题:接下来该做什么?为了能进一步推进,我需要有一个整体的视角,从更上层来看整个技术栈,从而确定接下来感兴趣的方向。本文主要探索从更上层的视角来看构建大模型的技术栈,从而进一步确定研究…...

绿色环保木塑复合材料自动化生产线设计书

《绿色环保木塑复合材料自动化生产线设计书》 一、项目概述 随着全球对环境保护和可持续发展的日益重视,绿色环保材料的研发与生产成为了热门领域。木塑复合材料作为一种新型的绿色环保材料,它将木材纤维与塑料通过特定工艺复合而成,兼具木材与塑料的双重特性,具有防水、…...

Sourcegraph 概述

Sourcegraph 报告 Sourcegraph 是一款强大的代码搜索和智能导航工具&#xff0c;专为大型代码库、分布式系统和跨多个仓库的开发环境设计。它能显著提高开发者对复杂系统的理解和维护效率&#xff0c;帮助团队在庞大的代码库中快速找到关键信息。本文将详细讲解 Sourcegraph 的…...

c 保存 csv格式的文件

在C语言中保存数据为CSV&#xff08;逗号分隔值&#xff09;格式的文件&#xff0c;你可以使用标准I/O库函数&#xff0c;如fprintf&#xff0c;来将数据写入文件&#xff0c;并确保每个字段之间用逗号分隔。以下是一个简单的示例&#xff0c;说明如何在C语言中创建一个CSV文件…...

C语言扫雷游戏教学(有图形界面)(提供源码+实验报告)(计时+排行榜+难度选择+登录注册+背景音乐)(涉及easyX库)

前言&#xff1a; 本篇文章篇幅较长&#xff0c;请根据自己的需求在目录上跳转对应内容哦&#xff01;源码及实验报告的获取在文章的后面哦&#xff01;本人代码水平不佳&#xff0c;希望本文章和项目能带给大家帮助&#xff01; 目录 前言&#xff1a; 一.成果预览&#x…...

第五节:GLM-4v-9b模型model加载源码解读(模型相关参数方法解读)

文章目录 前言一、GLM-4v-9b模型model加载源码解读1、GLM-4v-9b模型model加载主函数源码2、GLM-4v-9b模型model加载源码源码解读3、GLM-4v-9b自定义模型类源码解读 二、基于GLM-4v-9b模型获取模型输入参数等内容源码解读(from_pretrained-->huggingface)1、from_pretrained函…...

面试经验分享 | 北京渗透测试岗位

更多大厂面试经验的视频经验分享看主页 目录&#xff1a; 所面试的公司&#xff1a;安全大厂 所在城市&#xff1a;北京 面试职位&#xff1a;渗透测试工程师 面试方式&#xff1a;腾讯会议线上面试线下面试 面试过程&#xff1a; 面试官的问题&#xff1a; 1、说一下XSS有哪…...

unity Toggle制作滑动开关

先上效果图 重点是这个Graphic要清空,不然显示不能直接切换,会消失 using DG.Tweening; using UnityEngine; using UnityEngine.UI;public class SwitchToggle : MonoBehaviour {public RectTransform handleRect;public float duration 0.5f;private Vector2 handlePos;To…...

全面解析 Kubernetes 流量负载均衡:iptables 与 IPVS 模式

目录 Kubernetes 中 Service 的流量负载均衡模式 1. iptables 模式 工作原理 数据路径 优点 缺点 适用场景 2. IPVS 模式 工作原理 数据路径 优点 缺点 适用场景 两种模式的对比 如何切换模式 启用 IPVS 模式 验证模式 总结 Kubernetes 中 Service 的流量负载…...

【unity】【游戏开发】Unity项目一运行就蓝屏报Watch Dog Timeout

【背景】 由于是蓝屏所以没法截屏&#xff0c;总之今天遇到了一开Unity&#xff0c;过一阵就蓝屏的情况&#xff0c;报Watch Dog Timeout。 【分析】 通过任务管理器查看&#xff0c;发现Unity占用率100%&#xff0c;再观察Unity内部&#xff0c;每次右下角出现一个Global I…...

【macos java反编译工具Java Decompiler】

mac上能用的反编译工具 https://java-decompiler.github.io/...

宠物用品电子商务系统|Java|SSM|VUE| 前后端分离

【技术栈】 1⃣️&#xff1a;架构: B/S、MVC 2⃣️&#xff1a;系统环境&#xff1a;Windowsh/Mac 3⃣️&#xff1a;开发环境&#xff1a;IDEA、JDK1.8、Maven、Mysql5.7 4⃣️&#xff1a;技术栈&#xff1a;Java、Mysql、SSM、Mybatis-Plus、VUE、jquery,html 5⃣️数据库可…...

脑肿瘤检测数据集,对9900张原始图片进行YOLO,COCO,VOC格式的标注

脑肿瘤检测数据集&#xff0c;对9900张原始图片进行YOLO&#xff0c;COCO&#xff0c;VOC格式的标注 数据集分割 训练组 70&#xff05; 6930图片 有效集 20&#xff05; 1980图片 测试集 10&#xff05; 990图片 预处理 静态裁剪&#xff1a; 24-82&…...

Adversarial Machine Learning(对抗机器学习)

之前把机器学习&#xff08;Machine Learning&#xff09;的安全问题简单记录了一下&#xff0c;这里有深入研究了一些具体的概念&#xff0c;这里记录一下方便以后查阅。 Adversarial Machine Learning&#xff08;对抗机器学习&#xff09; Adversarial Examples 相关内容Eva…...

每日十题八股-2024年12月23日

1.MySQL如何避免重复插入数据&#xff1f; 2.CHAR 和 VARCHAR有什么区别&#xff1f; 3.Text数据类型可以无限大吗&#xff1f; 4.说一下外键约束 5.MySQL的关键字in和exist 6.mysql中的一些基本函数&#xff0c;你知道哪些&#xff1f; 7.SQL查询语句的执行顺序是怎么样的&…...

Android Studio新建项目在源码中编译

新建空白项目 用AS新建默认空项目&#xff0c;代码目录如下&#xff1a; MyApplication$ tree -L 4 . ├── Android.bp // bp编译脚本 ├── Android.mk.bak // mk编译脚本 ├── app // 下面目录结构是AS新建工程目录 │ ├── build.gradle │ ├── pro…...

ubuntu使用ffmpeg+ZLMediaKit搭建rtsp推流环境

最方便的方式&#xff0c;ubuntu上安装vlc播放器&#xff0c;通过vlc来推流&#xff0c;在网上有很多教程。这里采用ffmpegZLMediaKit 必备条件&#xff1a; 1、安装ffmpeg 2、安装ZLMediaKit 一、安装ffmpeg sudo apt update sudo apt install ffmpeg 二、安装ZLMediaKit…...