安装nginx-http-flv-module模块

本文涉及的产品
注册配置 MSE Nacos/ZooKeeper,118元/月
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
云原生网关 MSE Higress,422元/月
简介: 本文介绍如何为Nginx安装`nginx-http-flv-module`模块。此模块基于`nginx-rtmp-module`二次开发,不仅具备原模块的所有功能,还支持HTTP-FLV播放、GOP缓存、虚拟主机等功能。安装步骤包括:确认Nginx版本、下载相应版本的Nginx与模块源码、重新编译Nginx并加入新模块、验证模块安装成功。特别注意,此模块已包含`nginx-rtmp-module`功能,无需重复编译安装。


简介


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,说明安装好了。


引用



本文使用 mdnice 排版

目录
相关文章
|
7天前
|
tengine 关系型数据库 MySQL
Tengine、Nginx安装MySQL数据库命令教程
本指南详细介绍了在Linux系统上安装与配置MySQL数据库的步骤。首先通过下载并安装MySQL社区版本,接着启动MySQL服务,使用`systemctl start mysqld.service`命令。若启动失败,可尝试使用`sudo /etc/init.d/mysqld start`。利用`systemctl status mysqld.service`检查MySQL的服务状态,确保其处于运行中。通过日志文件获取初始密码,使用该密码登录数据库,并按要求更改初始密码以增强安全性。随后创建一个名为`tengine`的数据库,最后验证数据库创建是否成功以及完成整个设置流程。
|
7天前
|
tengine 应用服务中间件 Linux
Tengine、Nginx安装PHP命令教程
要在阿里云Linux上安装PHP,请先更新YUM源并启用PHP 8.0仓库,然后安装PHP及相关扩展。通过`php -v`命令验证安装成功后,需修改Nginx配置文件以支持PHP,并重启服务。最后,创建`phpinfo.php`文件测试安装是否成功。对于CentOS系统,还需安装EPEL源和Remi仓库,其余步骤类似。完成上述操作后,可通过浏览器访问`http://IP地址/phpinfo.php`测试安装结果。
|
2天前
|
Ubuntu 搜索推荐 应用服务中间件
Nginx安装与使用
Nginx安装与使用
|
2天前
|
负载均衡 算法 应用服务中间件
Nginx安装及配置详解
Nginx安装及配置详解
|
2天前
|
应用服务中间件 程序员 开发工具
|
2天前
|
应用服务中间件 Linux nginx
CentOS7安装Nginx
CentOS7安装Nginx
|
2天前
|
Ubuntu Unix 应用服务中间件
Ubuntu16.04.1 安装Nginx
Ubuntu16.04.1 安装Nginx
|
4天前
|
前端开发 JavaScript 应用服务中间件
linux安装nginx和前端部署vue项目(实际测试react项目也可以)
本文是一篇详细的教程,介绍了如何在Linux系统上安装和配置nginx,以及如何将打包好的前端项目(如Vue或React)上传和部署到服务器上,包括了常见的错误处理方法。
15 0
linux安装nginx和前端部署vue项目(实际测试react项目也可以)
|
1月前
|
NoSQL 关系型数据库 Redis
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
mall在linux环境下的部署(基于Docker容器),docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongodb、minio详细教程,拉取镜像、运行容器
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
|
2天前
|
网络协议 应用服务中间件 Linux