Linux服务器下操做:nginx
下载nginx wget nginx.org/download/ng…git
解压github
$tar -xvf nginx-1.15.3.tar.gz
复制代码
下载nginx rtmp模块 wget codeload.github.com/arut/nginx-…shell
解压vim
$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
复制代码
在这个过程当中可能由于环境不一样而出现不一样错误,好比缺乏pcre、openssl等,这时候就须要安装这些库。bash
执行完后会在 nginx目录下生成 MakeFile文件, cd nginx-1.15.3 后,执行app
$make install
复制代码
生成 /bin 目录,查看bin目录下的 ./bin/conf/
这个nginx.conf 文件配置实际上是不支持 RTMP服务的, 须要替换成nginx-rtmp-module-1.2.1下的nginx.conf 的文件,在此基础上稍做修改,bin目录下的 nginx.conf 作备份
$mv nginx.conf nginx.conf.bak
复制代码
拷贝./nginx-rtmp-module-1.2.1/test/nginx.conf 到 ./nginx-1.15.3/bin/conf 目录下
$cd nginx-rtmp-module-1.2.1/test
$cp nginx.conf /root/live/nginx-1.15.3/bin/conf/
复制代码
查看修改nginx.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;
#丢弃闲置5秒的链接
drop_idle_publisher 5s;
}
}
}
http {
server {
#注意端口的占用
listen 8080;
location /stat {
rtmp_stat all;
rtmp_stat_stylesheet stat.xsl;
}
location /stat.xsl {
#修改成本身nginx-rtmp-module-1.2.1的路径
root /root/live/nginx-rtmp-module-1.2.1/;
}
location /control {
rtmp_control all;
}
location /rtmp-publisher {
#修改成本身nginx-rtmp-module-1.2.1的路径
root /root/live/nginx-rtmp-module-1.2.1/test;
}
location / {
#修改成本身nginx-rtmp-module-1.2.1的路径
root /root/live/nginx-rtmp-module-1.2.1/test/www;
}
}
}
复制代码
以上配置中查看端口是否占用:
$lsof -i:8080
$lsof -i:1935
复制代码
须要注意的是目录与端口是否被占用,好比个人8080端口被占用,我改成了8081,而后须要开放端口。
配置了iptables防火墙的翻下前面的资料,若是没安装的阿里云服务器能够进入阿里云控制台开放
而后点击配置规则
,在新页面点击添加安全组规则
,开放8081端口,而后肯定,就能够了。
以上须要添加nginx指定的两个端口:我这里配置的193五、8080。配置完成后,就能够启动nginx了
到nginx根目录下执行 :
$./bin/sbin/nginx #启动服务
$./bin/sbin/nginx -s stop #中止服务
复制代码
在当前目录 执行 bin/sbin/nginx 便可启动
bin/sbin/nginx -s stop 中止
必定要在当前目录启动,由于上面的配置 error_log logs/error.log debug; 会去执行命令的目录下查找 logs。
若是error_log 改为一个绝对路径 那就不要紧了。
nginx: [emerg] open() "/root/live/bin/logs/error.log" failed (2: No such file or directory)
复制代码
启动服务后打开浏览器 ,在浏览器中输入 :
【IP】:8081
能访问就表示配置完成了
以前在此遇到403 forbidden, 在 nginx.conf 下第一行添加 user root;问题解决
至此服务器配置完成。
下载 推流软件 OBS,配置好相关设置,可自行百度
在来源里添加显示捕捉,而后点击 开始录制, 开始推流:
可在浏览器中看到多出来一条test的流数据,正是我推送的: