首页 > 系统相关 >安装nginx-http-flv-module模块

安装nginx-http-flv-module模块

时间:2024-09-23 16:45:56浏览次数:6  
标签:http -- module flv nginx 源代码

简介

nginx中的模块虽然就是类似插件的概念,但是它无法像VsCode那样轻松的安装扩展。

nginx要安装其它模块必须同时拿到nginx源代码和模块源代码,然后手动编译,将模块打到nginx中,最终生成一个名为nginx的可执行文件。

nginx-http-flv-module是什么

  • nginx-http-flv-module是nginx的一个模块(拓展插件),它基于 nginx-rtmp-module 二次开发,拥有 nginx-rtmp-module 全部的功能
  • HTTP-FLV播放,GOP缓存,虚拟主机,RTMP/HTTP-FLV纯音频支持,HLS播放等等
  • 兼容性:要求nginx的版本大于等于1.2.6

流程

  • 查看当前nginx 的版本(假设安装位置为:/usr/local/nginx)
  • 下载当前版本nginx的源代码
  • 下载 nginx-http-flv-module 模块源代码
  • 重新编译nginx并追加nginx-http-flv-module
  • 将新编译好的 nginx 可执行文件拷贝到当前nginx安装目录(/usr/local/nginx/sbin)

注意事项

由于nginx-http-flv-module包含了 nginx-rtmp-module 模块,所以不可将 nginx-http-flv-module 和 nginx-rtmp-module 同时编译,当我们编译完 nginx-http-flv-module 之后,其实就已经拥有了 nginx-rtmp-module 的完整功能。

详细步骤

查看当前已经安装的nginx版本


[root@bogon sbin]# ./nginx -V
nginx version: nginx/1.18.0
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC)
built with OpenSSL 1.0.2k-fips  26 Jan 2017
TLS SNI support enabled
configure arguments: --prefix=/usr/local/nginx --with-http_dav_module --with-http_stub_status_module --with-http_addition_module --with-http_sub_module --with-http_flv_module --with-http_mp4_module --with-pcre --with-http_ssl_module --with-http_gzip_static_module

  • V:小v仅打印版本号,大V既打印版本号,也打印扩展信息,这里要使用大V
  • 拿到版本号的目的是待会要下载该版本的源代码
  • 注意保存打印内容中的 arguments 后面的内容,后面编译会用到

下载对应版本的nginx源代码

找一个目录,假设为 /home/cml

下载 1.18.0 版本的nginx


wget http://nginx.org/download/nginx-1.18.0.tar.gz

tar -zxvf   nginx-1.18.0.tar.gz

下载nginx-http-flv-module模块源代码

还是进入到 /home/cml ,下载 nginx-http-flv-module 模块的源代码


git clone https://github.com/winshining/nginx-http-flv-module.git

这里需要注意源代码所在目录的名称和目录的层级。确保在 /home/cml 目录下有一个名为 nginx-http-flv-module 的目录,而目录的内容如下:


[root@bogon nginx-http-flv-module]# tree    -L 1
.
├── AUTHORS
├── config
├── dash
├── doc
├── hls
├── LICENSE
├── ngx_http_flv_live_module.c
├── ngx_http_flv_live_module.h
......

重新编译nginx

此时,/home/cml 目录下面有两个目录

  • nginx-1.18.0
  • nginx-http-flv-module

进入 nginx-1.18.0 目录,可以看到有一个 configure 可执行文件,执行如下命令


./configure  --prefix=/usr/local/nginx --with-http_dav_module --with-http_stub_status_module --with-http_addition_module --with-http_sub_module --with-http_flv_module --with-http_mp4_module --with-pcre --with-http_ssl_module --with-http_gzip_static_module --add-module=/home/cml/nginx-http-flv-module

  • 使用configure 配置编译环境
  • 将上面 保存的“arguments 后面的内容”作为configure 的第一个参数
  • 第二个参数为 --add-module=/home/cml/nginx-http-flv-module ,即添加一个模块,模块源代码位置是 /home/cml/nginx-http-flv-module

如果没有出错,执行 编译命令


make

编译成功后,在/home/cml/nginx-1.18.0/objs 中会有一个 名为nginx的可执行文件,这个就是编译好的nginx了, 里面包含已经安装的功能和新增加的nginx-rtmp-module,将这个可执行文件拷贝到当前安装目录(/usr/local/nginx/sbin)中就可以了。

注意拷贝之前需要停止nginx,否则会报当前文件繁忙,无法覆盖的错误。

验证nginx-http-flv-module是否安装好了


nginx   -V 

若打印的信息中包含nginx-http-flv-module,说明安装好了。

引用

  • https://github.com/winshining/nginx-http-flv-module/blob/master/README.CN.md

本文使用 mdnice 排版

标签:http,--,module,flv,nginx,源代码
From: https://www.cnblogs.com/Naylor/p/18427309

相关文章

  • kettle从入门到精通 第八十六课 ETL之kettle kettle调用https接口忽略SSL校验
     1、在使用kettle调用接口的时候不可避免要调用http或者https接口,调用http接口kettle可以正常工作,但是遇到https接口的时候kettle就会提示证书有误,无法正常调用接口,今天咱们一起通过自研插件的方式来解决这个问题。自研插件需要有一定的java基础,git上有比较多的例子,本次不讲解如......
  • 带你0到1之QT编程:十七、Http协议实战,实现一个简单服务器和一个客户端进行http协议通信
    此为QT编程的第十七谈!关注我,带你快速学习QT编程的学习路线!每一篇的技术点都是很很重要!很重要!很重要!但不冗余!我们通常采取总-分-总和生活化的讲解方式来阐述一个知识点!码农不易,各位学者学到东西请点赞支持支持!开始部分:总:此次实战主要是模拟一个http协议进行网络通信的一......
  • Nginx 配置HTTPS
    HTTPS是以安全为目标的HTTP通道,简单讲是HTTP的安全版,即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。在Nginx中,配置HTTPS也非常的简单,我们首先需要准备好与我们域名关联的HTTPS证书,接着,再配置对应的证书目录即可。Nginx配置HTTPS的详细......
  • 【HTTP 和 HTTPS详解】4
    目录HTTP协议中的缓存缓存控制标头HTTP中的身份验证和授权基本身份验证摘要式身份验证开放授权基于令牌的身份验证JWT(JSONWeb令牌)Cookie和会话设置和管理Cookie设置Cookies安全和HttpOnly标志会话管理替代数据存储方法浏览器端数据存储服务器端数据存......
  • http和https的区别
    HTTP(超文本传输协议)和HTTPS(安全超文本传输协议)之间的区别主要体现在安全性、连接方式、证书管理、端口号、资源消耗和兼容性等方面。下面我将逐一介绍这些区别:1.安全性HTTP:是明文传输的,意味着数据在网络中传输时没有加密,因此这些数据可能会被截获或篡改。HTTPS:在HTTP的基础......
  • 网络原理 HTTP与HTTPS协议
     博主主页: 码农派大星.  数据结构专栏:Java数据结构 数据库专栏:MySQL数据库JavaEE专栏:JavaEE关注博主带你了解更多计算机网络知识目录1.HTTP概念2.HTTP报文格式3.HTTP请求 1.首行1.1URL  1.2GET⽅法 1.3POST⽅法1.4其他⽅法 2.请求头(header......
  • python爬虫连载 HTTP请求头
    HTTP头部信息HTTP由众多头域组成,每个头域由域名、冒号、域值三部分组成。域名是大小写无关的, 请求头:1GET代表的是请求方式,HTTP/1.1表示使用HTTP1.1协议标准。2Host头域,用于指定请求资源的Intenet主机和端口号,必须表示请求URL的原始服务器或网关的位置。HTTP/1.1请求必须......
  • 如何生成免费的HTTPS证书
    如何生成免费的HTTPS证书原创 前端赏金猎人 前端赏金猎人  2024年08月25日10:20 江苏 听全文生成免费的HTTPS证书,有多种方法可供选择,这些方法大多依赖于不同的证书颁发机构(CA)提供的免费服务。以下是一些常用的方法来生成免费的HTTPS证书:1.使用Let'sEncryptLet'......
  • 详解HTTP/HTTPS协议
    HTTPHTTP协议全名为超文本传输协议。HTTP协议是应用层协议,其传输层协议采用TCP协议。请求—响应模型HTTP协议采用请求-响应模型,通常由客户端发起请求由服务端完成响应。资源存储在服务端,客户端通过请求服务端获取资源。 认识URL当我们访问网页时,浏览器扮演的就是客户端......
  • 帝国备份王安装 /diguo 返回http500错误原因及解决方法
    当你在使用帝国备份王进行数据恢复时遇到/diguo路径返回HTTP500错误,这通常表示服务器端发生了某种错误。根据已有的信息,HTTP500错误的原因可能与PHP的配置有关,特别是short_open_tag的设置。HTTP500错误原因HTTP500错误通常表明服务器遇到了意料之外的情况,阻止了它完成请求......