二. 搭建Nginx 直播流程服务器

news2025/1/19 8:28:20

目录

1. 前言

2. 安装 Nginx 依赖

3.下载源码

4. 编译安装

5.配置 rtmp 服务

 6.验证配置


1. 前言

        服务器由 NGINX+RTMP 构成。 NGINX HTTP 服务器, RTMP 是附加模块。
其中 NGINX 我选择的是用 源码编译方式 进行安装,因为这种方式可以自定义安装指定的模
块以及最新版本。
        在我们准备好系统环境之后,我们就需要开始安装 Nginx 了,安装 Nginx 我们需要先把他的
依赖给安装,然后下载相关的源码进行编译,最后执行编译安装

2. 安装 Nginx 依赖

        在我们更新 apt 软件源完成之后,就可以安装 Nginx 等一些软件的依赖环境,执行的命令如
下所示
apt-get install -y libpcre3 libpcre3-dev libssl-dev zlib1g-dev gcc wget unzip vim make curl
        安装的依赖软件有点多,会根据你的网速安装速度也不一样,命令执行之后,返回的信息如
下图所示
        从上图中可以看到依赖已经安装完成,接下来我们开始安装nginx nginx 不能使用 apt 安装,
需要源码编译安装才可以,因为需要我们编译一个模块进去

3.下载源码

        我们首先将需要的模块下载下来,这里使用 nginx-rtmp-module ,而是使用
nginx-http-flv-module 来替代,因为后者是基于前者开发的,前者拥有的功能后者都有,后
者是国内的开发开发,有中文文档,所以就采用它了,首先将它下载下来并解压,执行的命
令如下所示
wgethttps://github.com/winshining/nginx-http-flv-module/archive/master.zip
然后,解压:
        命令执行之后,返回的信息如下图所示
        从上图中可以看出已经下载并解压完成, 接着我们还需要下载 nginx 本身的源码, 下载 Nginx 源码并解压的命令如下所示
wget http://nginx.org/download/nginx-1.17.6.tar.gz

然后解压:
tar -zxvf nginx-1.17.6.tar.gz

4. 编译安装

        接着我们进入编译安装环节,首先进入刚才解压的 nginx 目录当中,执行的命令如下所示
cd nginx-1.17.6 && ls
命令执行之后,返回的信息如下图所示
        从上图中可以看到解压出来的目录结构,我们执行./configure 便可以配置编译参数,这个地
方我们需要将刚才下载的插件 nginx-http-flv-module 加入进来 , 执行的命令如下所示.
./configure --add-module=../nginx-http-flv-module-master
        命令执行之后,返回的信息如下图所示
        在上图中可以看到准备编译已经完成,但在编译的过程当中有可能会出现一些意外因素,
nginx 默认编译非常严格,只要遇到一些意外就会中断编译 ,因此我们将一些非致命的意外
设置为警告模式,执行命令如下所示
vim objs/Makefile
        在当前文件夹下有一个 objs/Makefile 文件,我们将里面的 -Werror 删除 ,用 vim 打开文件后
如下所示
        删除之后,保存并退出,接着就可以进行编译 Nginx 了,编译的过程稍微有点长,执行的命
令如下所示
make && make install

        安装命令执行之后,返回的信息如下图所示

        在上图中可以可以看到安装过程大致执行了哪些命令,安装完成后接下来需要进行一些简单
的配置就可以使用了

5.配置 rtmp 服务

        在完成 Nginx 的安装之后,我们需要对 Nginx 进行一番配置,并启动 Nginx 服务

 我们直接使用 vim 命令去编辑 Nginx 的配置文件,执行命令如下所示 vim /usr/local/nginx/conf/nginx.conf 预览 vim 命令执行之后,打开的编辑窗口如下所示

        我们将以下配置信息复制并粘贴到配置文件信息里面,放在 http 配置上面
rtmp {
#RTMP 服务
server {
listen 1935; #// 服务端口
chunk_size 4096;
#// 数据传输块的大小
application live1{ # 这个是“直播”
live on; #// 视频文件存放位置。
}
application hls1{ # 这个是“ HLS 直播”
live on; #// 视频文件存放位置。
hls on;
hls_path /usr/local/ngingx/html/hls1;
# 注意:需要手工创建 /tmp/hls 目录, mkdir -p /tmp/hls
}
application vod { # 这个是“点播”
play /opt/video/vod; #// 视频文件存放位置。
         }
   }
}

 6.验证配置

        粘贴完成并保存之后,我们在终端执行 nginx -t 命令, 来测试一下配置文件是否有异常 ,执
行命令如下所示
/usr/local/nginx/sbin/nginx -t
        命令执行之后,返回的信息如下图所示
        在上图中可以看出 Nginx 提示我们配置文件没有异常,说明我们配置没有语法错误,我们启
动一下 Nginx ,执行命令如下所示:
/usr/local/nginx/sbin/nginx
        如果 80 端口已经被 apache 占用, 可以 kill apache 的进程, 或者将 nginx 的端口改为 8000. 将 http 下的 server 下的 listen 改为 8000 即可,截图如下:
        验证 nginx 是否成功启动, 打开 window10 的 chrome ,输入 http://192.168.0.104:8000
注意:我这里的 ip 192.168.0.104 nginx 端口是 8000 ,请改成您自己的 ip 和端口。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1622526.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Three.js入门学习笔记

学习资料: 【Three.js】Three.js快速上手教程_three.module.js-CSDN博客 2024年了,是该学学Three.js了_three.js 2024-CSDN博客 一、three.js简介 three.js是JavaScript编写的WebGL第三方库。 three.js,webGL,openGL三者的关…

WEB前端-笔记(三)

目录 一、事件 1.1类型 1.2对象 1.3页面加载事件 1.4滚动事件 1.5尺寸事件 1.6捕获&冒泡事件 1.7阻止表单提交 1.8全选案例 1.9事件委托 ​编辑 1.10client&offset 1.11换取元素的位置 1.12创建节点 1.13克隆节点 1.14删除节点 1.15setTimeout 1.16s…

人工智能入门(一):基于Pytorch的手写数字识别模型

前言: 因为还在上学,时间不太够用,很多内容写到后面心有余力不足,未来有时间我会慢慢补充。人工智能的知识涉猎范围广又杂乱无章,啃书或上课学到的知识往往很早就过时了或者离实际的项目无关。所以,我很希…

【Git教程】(十七)发行版交付 — 概述及使用要求,执行过程及其实现,替代解决方案 ~

Git教程 发行版交付 1️⃣ 概述2️⃣ 使用要求3️⃣ 执行过程及其实现3.1 预备阶段:创建 stable 分支3.2 预备并创建发行版3.3 创建补丁 4️⃣ 替代解决方案 对于每个项目或产品来说,发布版本的创建都需要一定的时间,其具体过程因各公司或组…

arm版Linux下安装大数据集群各种组件

背景:由于本人是用的Macbookpro m2来进行开发的,很多环境和Intel芯片的都不一样,期间安装各种软件遇到各种问题,为了以后不走之前的老路,现记录各种软件的安装步骤。 系统安装组件说明 序号组件名称组件版本1jdkjdk-…

2024年电子商务与大数据经济国际会议 (EBDE 2024)

2024年电子商务与大数据经济国际会议 (EBDE 2024) 2024 International Conference on E-commerce and Big Data Economy 【会议简介】 2024年电子商务与大数据经济国际会议即将在厦门召开。本次会议旨在汇聚全球电子商务与大数据经济领域的专家学者,共同探讨电子商务…

基于MaxKB搭建一个知识库问答系统

什么是MaxKB MaxKB 是一款基于 LLM 大语言模型的知识库问答系统。MaxKB Max Knowledge Base,旨在成为企业的最强大脑。 开箱即用:支持直接上传文档、自动爬取在线文档,支持文本自动拆分、向量化,智能问答交互体验好&#xff1b…

深度学习| 注意力机制

注意力机制 为什么需要注意力机制Seq2Seq问题Transfomer Attention注意力机制分类软硬注意力注意力域 为什么需要注意力机制 这个可以从NLP的Seq2Seq问题来慢慢理解。 Seq2Seq问题 Seq2Seq(Sequence to Sequence):早期很多模型中&#xff…

扭蛋机小程序对市场的发展有哪些推动作用?

近几年,扭蛋机发展的非常迅猛。随着二次元文化的火热,给扭蛋机带来了发展机遇,扭蛋机行业也受到了大众的喜爱。扭蛋机的商品种类多样化,包含了各类热门IP周边衍生品、玩具、小商品等,适合所有消费人群,市场…

2024年汉字小达人活动还有5个月开赛:来做18道历年选择题备考吧

现在距离2024年第11届汉字小达人比赛还有五个多月的时间,如何利用这段时间有条不紊地备考呢?我的建议是两手准备:①把小学1-5年级的语文课本上的知识点熟悉,重点是字、词、成语、古诗。阅读理解不需要。②把历年真题刷刷熟&#x…

【漏洞复现】云时空社会化商业ERP系统slogin SQL注入漏洞

漏洞描述: 云时空社会化商业ERP系统slogin存在SQL注入漏洞,攻击者可以通过此漏洞获取数据库敏感信息。 搜索语法: Fofa-Query: app"云时空社会化商业ERP系统" 漏洞详情: 1.云时空社会化商业ERP系统。 2.漏洞POC: …

浏览器和nodejs中的eventloop

浏览器和nodejs中的eventloop 浏览器中的Event Loop 在浏览器中,设计成为了单线程。如果要处理异步请求,则需要增加一层调度逻辑,把js代码封装成一个个的任务,放在一个任务队列中,主线程不断的读取任务执行。每次调取…

IDEA2023版本创建Sping项目无法使用Java8

1. 问题复现 1.1 当前版本2023.3.2 1.2 创建项目时:不存在jdk8选项 提示报错 1.3 原因分析 Spring官方发布Spring Boot 3.0.0 的时候告知了一些情况,Java 17将成为未来的主流版本 2. 如何解决 2.1 替换创建项目的源 我们只知道IDEA页面创建Spring项目…

玩转PyCharm

玩转PyCharm PyCharm是由JetBrains公司开发的提供给Python专业的开发者的一个集成开发环境,它最大的优点是能够大大提升Python开发者的工作效率,为开发者集成了很多用起来非常顺手的功能,包括代码调试、高亮语法、代码跳转、智能提示、自动补…

历史遗留问题-Oracle 19c RAC 安装时节点连接性问题

测试服务器的二节点数据库宕掉了,原因不明,需要产环境重新安装。我想上次在自己虚拟机安装实验过一次,应该一天能搞定,事实证明,你永远有学不完的bug!!!! 首先查看一下系…

python 调试 c++源码

1. gdb常用调试命令概览和说明 2. 编译c库设置Debug模式 cmake设置debug 在CMake中设置debug模式通常意味着启用调试信息和优化。以下是一个简单的CMakeLists.txt文件示例,展示了如何设置项目以便在Debug模式下构建: cmake_minimum_required(VERSION 3…

【WEEK9】 【DAY3】JSR303数据校验及多环境切换【中文版】

2024.4.24 Wednesday 目录 4.JSR303数据校验及多环境切换4.1.JSR303数据校验(了解即可)4.1.1.修改Person.java4.1.2.修改pom.xml(添加依赖)4.1.3.运行Springboot02ConfigApplicationTests.java进行测试4.1.4.使用数据校验&#x…

HotSpot JVM 中的应用程序/动态类数据共享

0.前言 本文的目的是详细讨论 HotSpot JVM 自 JDK 1.5 以来提供的一项功能,该功能可以减少启动时间,但如果在多个 JVM 之间共享相同的类数据共享 (CDS) 存档,则还可以减少内存占用。 1.类数据共享 (CDS) CDS 的想法是使用特定格式将预处理…

【氮化镓】液态Ga在GaN(0001)和(0001̅)表面上的三维有序排列随温度的变化

文章标题是《Temperature dependence of liquid-gallium ordering on the surface of epitaxially grown GaN》,作者是Takuo Sasaki等人,发表在《Applied Physics Express》上。文章主要研究了在分子束外延(MBE)条件下,液态镓(Ga)在GaN(0001)…

探索在Apache SeaTunnel上使用Hudi连接器,高效管理大数据的技术

Apache Hudi是一个数据湖处理框架,通过提供简单的方式来进行数据的插入、更新和删除操作,Hudi能够帮助数据工程师和科学家更高效地处理大数据,并支持实时查询。 支持的处理引擎 Spark Flink SeaTunnel Zeta 主要特性 批处理 流处理 精确一次性…