一、下载nginx和nginx-rtmp-module
nginx的下载地址可以在官网找到,而nginx-rtmp-module可以在github中找到正式发版的版本,我贴出来的是搭建服务器时两个最新的版本
nginx的下载地址:http://nginx.org/download/nginx-1.15.3.tar.gz
nginx-rtmp-module的下载地址: https://codeload.github.com/arut/nginx-rtmp-module/tar.gz/v1.2.1
#下载nginx
wget http://nginx.org/download/nginx-1.15.3.tar.gz
#下载nginx-rtmp-module
wget https://codeload.github.com/arut/nginx-rtmp-module/tar.gz/v1.2.1
二、解压并添加配置
解压nginx-1.15.3.tar.gz及v1.2.1得到nginx-1.15.3文件夹和nginx-rtmp-module-1.2.1文件夹
进入nginx-1.15.3文件夹,执行以下命令
./configure --prefix=./bin --add-module=../nginx-rtmp-module-1.2.1
#(1)--prefix:表示生成的文件目录
#(2)--add-module:表示启动外部模块
在这个过程中可能因为环境不同而出现不同错误,比如缺少pcre、openssl等,这时候就需要安装这些库。参考下面的博客文章
https://blog.csdn.net/z920954494/article/details/52132125
三、修改配置文件
进入到刚刚生成的bin目录的conf目录
cd bin/conf
修改这个目录下的nginx.conf文件
user root;
worker_processes 1;
error_log logs/error.log debug;
events {
worker_connections 1024;
}
rtmp {
server {
listen 1935;
application myapp {
live on;
drop_idle_publisher 5s;
}
}
}
http {
server {
listen 8081;
location /stat {
rtmp_stat all;
rtmp_stat_stylesheet stat.xsl;
}
location /stat.xsl {
root 自己的nginx-rtmp-module的路径/;
}
location /control {
rtmp_control all;
}
location /rtmp-publisher {
root 自己的nginx-rtmp-module的路径/test;
}
location / {
root 自己的nginx-rtmp-module的路径/test/www;
}
}
}
有几个点需要注意:
(1)rtmp及http中的listen后面是端口号,使用之前一定要检测端口是否被占用,命令行如下
lsof -i:端口号
#如果端口号没有被占用,则什么都不会输出
#如果被占用了可以使用 kill -9 进程的pid,来杀死进行,或者换一个端口
(2)drop_idle_publisher:这句话的意思是清理闲置了5秒的链接
(3)在相应的位置填写自己的nginx-rtmp-module的路径
四、执行启动nginx服务器
切换到nginx-1.15.5目录中,执行以下命令
#获取当前目录的全路径
pwd
#启动nginx服务
/linux/live/nginx-1.15.5/bin/sbin/nginx
注意:一定要在当前目录启动,因为上面的配置 error_log logs/error.log debug,会去执行命令的目录下查找 logs。
如果error_log 改成一个绝对路径 那就没关系了。
五、检测是否成功
在浏览器中输入【IP】:【PORT】检测
关于rtmp推流的检测可以使用EV录屏及EV播放器检测,可自行百度软件的使用方法