文章目录
环境:Linux阿里云服务器
1. 下载nginx,并解压
wget http://nginx.org/download/nginx-1.15.3.tar.gz
tar xvf nginx-1.15.3.tar.gz
2. 下载rtmp并解压
wget https://codeload.github.com/arut/nginx-rtmp-module/tar.gz/v1.2.1
tar xvf v1.2.1
3. 进入nginx目录
cd nginx-1.15.3
4. 执行:
#--add-module 指向rtmp模块目录,注意rtmp路径
./configure --prefix=./bin --add-module=../nginx-rtmp-module-1.2.1
5. 在这个过程中可能因为环境不同而出现不同错误,比如缺少pcre、openssl等,这时候就需要安装这些库。
查看zlib安装
dpkg -l | grep zlib
openssl
sudo apt-get install openssl libssl-dev
pre3
sudo apt-get install libpcre3 libpcre3-dev
zlib
sudo apt-get install zlib1g-dev
6. 安装:
步骤4顺利执行后,会生成一个MakeFile文件,通过make安装
make install
7. 进入bin/conf 目录下(nginx-1.15.3/bin)
cd bin/conf
8. 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 8081;
location /stat {
rtmp_stat all;
rtmp_stat_stylesheet stat.xsl;
}
location /stat.xsl {
#注意目录
root /root/ffmpeg/nginx/nginx-rtmp-module-1.2.1/;
}
location /control {
rtmp_control all;
}
location /rtmp-publisher {
#注意目录
root /root/ffmpeg/nginx/nginx-rtmp-module-1.2.1/test;
}
location / {
#注意目录
root /root/ffmpeg/nginx/nginx-rtmp-module-1.2.1/test/www;
}
}
}
其实就是从
nginx-rtmp-module-1.2.1/test/nginx.conf
中拷贝
修改:
user root;
drop_idle_publisher 5s;
/root/ffmpeg/nginx/nginx-rtmp-module-1.2.1/改为自己的rtmp路径
9. 端口占用检查: lsof -i:8080
需要注意的是目录与端口是否被占用,比如我的8080端口被占用,我改为了8081,然后需要开放端口。
10. 阿里云服务器配置安全策略,开放端口
11. 配置完成后,就可以启动nginx了
在当前目录nginx-1.15.3执行
bin/sbin/nginx
停止:
bin/sbin/nginx -s stop
注意:一定要在当前目录启动,因为上面的配置 error_log logs/error.log debug; 会去执行命令的目录下查找 logs。
如果error_log 改成一个绝对路径 那就没关系了
- 在浏览器输入IP:8081或者IP:8081/stat(8081是你上面配置的),能访问就表示配置完成了。
可以下载推流软件,配置ip,如: rtmp://IP+myapp/abc(不带端口是因为配置的是rtmp的默认端口;myapp是nginx.conf配置的;abc可以是任意的,播放端和上传一样就能获取)