赞
踩
基本原理就是nginx已经是安好编译好的,添加模块需要在解压目录(不是安装目录)里的添加上这个模块(用./configure注册上所有要用的模块),再在解压目录里重新编译,把新编译好的编译文件去安装目录替换那个老的编译文件,不用重新安装。
我的安装目录/usr/local/webserver/nginx
解压目录/usr/local/src/nginx-1.16.1
一、首先就是先下载nginx-rtmp-module
官方github地址:https://github.com/arut/nginx-rtmp-module
别人是用这个语句git clone https://github.com/arut/nginx-rtmp-module.git
我直接去官网第一个网址下载的zip文件,但之后需要用:unzip filename.zip 语句解压,下载位置我放在了解压目录里
二、安装:nginx
没有的nginx的就安装,官方网站为:http://nginx.org/en/download.html
安装nginx的这段代码复制别人的仅供参考
wget http://nginx.org/download/nginx-1.12.1.tar.gz
tar -zxvf nginx-1.12.1.tar.gz
cd nginx-1.12.1
./configure --prefix=/usr/local/nginx --add-module=/nginx-rtmp-module --with-http_ssl_module
make && make install
如果你已经安装好nginx,那么需要单独安装第三方模块,不能重新安装
nginx第三方模块安装方法:
./configure --prefix=/你的安装目录 --add-module=/第三方模块目录
由于有两个nginx文件目录,一个属于安装目录,安装目录是我们主要用的,另一个属于解压目录,我一开始没有分清,在安装目录用了./configure命令,这个目录没有configure文件,所以无法执行的。编译(make之类的)及编译之前的命令需要在解压目录里使用,另外这个语句里的安装目录与第三方模块目录一定要写全。
先去原来的安装目录/usr/local/webserver/nginx 去看都配置了哪些模块
使用./nginx -V查看
- [bigdata@bigdata005 ~]$ cd /usr/local/webserver/nginx
- [bigdata@bigdata005 nginx]$ cd sbin/
- [bigdata@bigdata005 sbin]$ ./nginx -V
- nginx version: nginx/1.16.1
- built by gcc 4.4.7 20120313 (Red Hat 4.4.7-23) (GCC)
- built with OpenSSL 1.0.1e-fips 11 Feb 2013
- TLS SNI support enabled
- configure arguments: --prefix=/usr/local/webserver/nginx --add-module=/usr/local/src/nginx-1.16.1/nginx-rtmp-module --with-http_stub_status_module --with-http_ssl_module --with-pcre=/usr/local/src/pcre-8.35
- [bigdata@bigdata005 sbin]$
在configure arguments复制这些参数,当然这里面一开始没有--add-module=/usr/local/src/nginx-1.16.1/nginx-rtmp-module这句的
然后在解压目录里执行,这里就是把之前在configure arguments查到的参数再加上--add-module=/usr/local/src/nginx-1.16.1/nginx-rtmp-module这句,总之就是把你要用的这些模块全在configure语句里写全。
./configure --prefix=/usr/local/webserver/nginx --add-module=/usr/local/src/nginx-1.16.1/nginx-rtmp-module --with-http_stub_status_module --with-http_ssl_module --with-pcre=/usr/local/src/pcre-8.35
再执行make语句,不需要make install
进行编译。编译完成后,我们需要在根目录下我们刚下载的 /nginx-1.16.1/objs/ 目录下。找到刚刚编译好的 nginx 文件( 没有扩展名)
将 nginx 文件复制到 之前安装的 /usr/local/webserver/nginx/sbin/ 目录,替换旧的 nginx 文件。建议备份一下旧的 nginx 文件。
然后重启下nginx 就好了。(复制必须要在命令行里用cp命令复制,在xftp里复制的话服务器感受不到nginx是执行文件!)
三、修改nginx配置文件
找到安装目录的conf,vi nginx.conf 进入配置文件添加第二段的rtmp代码
关于vi 的操作可以看https://www.runoob.com/linux/linux-vim.html
/usr/local/webserver/nginx/conf
- rtmp {
- 123
- 124 server {
- 125
- 126 listen 1935; #监听的端口
- 127
- 128 chunk_size 4000;
- 129
- 130 application hls { #rtmp推流请求路径
- 131 live on;
- 132 hls on;
- 133 hls_path /usr/local/webserver/nginx/html/hls;
- 134 hls_fragment 5s;
- 135 }
- 136 }
还有就是这个路径,看你自己的实际情况的访问根目录
然而/usr/local/webserver/nginx/html/hls肯定没有这个目录,所以需要建一个放流文件的目录hls,并且需要改权限可读可写的权限
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。