Nginx-RTMP服务搭建
Linux操作:
1.下载nginx
wget http://nginx.org/download/nginx-1.15.3.tar.gz
2.解压
tar xvf nginx-1.15.3.tar.gz
3.下载nginx rtmp模块
wget https://codeload.github.com/arut/nginx-rtmp-module/tar.gz/v1.2.1
4.解压
tar xvf v1.2.1 进入nginx目录 cd nginx-1.15.3 执行:#--add-module 指向rtmp模块目录
./configure --prefix=./bin --add-module=../nginx-rtmp-module-1.2.1
make install
在这个过程中可能因为环境不同而出现不同错误,比如缺少pcre、openssl等,这时候就需要安装这些库。 https://blog.csdn.net/z920954494/article/details/52132125
编译完成后,安装在当前目录的bin目录下。
cd bin/conf
vim 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;
#丢弃闲置5s的连接
drop_idle_publisher 5s;
}
}
}
http {
server {
#注意端口占用
listen 8080;
location /stat {
rtmp_stat all;
rtmp_stat_stylesheet stat.xsl;
}
location /stat.xsl {
#注意目录
root / /{YOUR_DIR}/nginx-rtmp-module-1.2.1/;
}
location /control {
rtmp_control all;
}
location /rtmp-publisher {
#注意目录
root / /{YOUR_DIR}/nginx-rtmp-module-1.2.1/test;
}
location / {
#注意目录
root /{YOUR_DIR}/nginx-rtmp-module-1.2.1/test/www;
}
}
}
其实就是从 nginx-rtmp-module-1.2.1/test/nginx.conf 中拷贝
端口占用检查: lsof -i:8080
需要注意的是目录与端口是否被占用,比如8080端口被占用,可以改为了8081,然后需要开放端口。 如果使用的阿里云服务器可以进入阿里云控制台开放
image.png
然后点击 配置规则 ,在新页面点击添加 安全组规则 ,开放8081端口,然后确定,就可以了。
image.png
配置完成后,就可以启动nginx了
在nginx-1.15.3目录 执行 bin/sbin/nginx 即可启动
bin/sbin/nginx -s stop 停止
一定要在nginx-1.15.3目录启动,因为上面的配置 error_log logs/error.log debug; 会去执行命令的目录下查找 logs。 如果error_log 改成一个绝对路径 那就没关系了。
在浏览器输入 【IP】:8081/stat ,能访问就表示配置完成了。此时一旦有播放器或者推流器连接到搭建的服务器刷新 此界面就能够看到如下界面:(手机推流,ffplay、网页、potplayer播放)
查看推流情况