专栏首页码客Nginx添加rtmp模块搭建rtmp推流服务器

Nginx添加rtmp模块搭建rtmp推流服务器

前言

搭建基于rtmp协议的推流服务器。

环境Centos 7 + Nginx

我这里默认nginx是用yum安装的

所以这篇文章最大可能和yum安装的nginx保持相同的配置

yum安装目录介绍

  • /usr/sbin/nginx 执行文件
  • /usr/lib64/nginx/modules/ 依赖模块目录
  • /etc/nginx 配置文件路径
  • /usr/share/nginx 默认的站点目录

安装Nginx和相关依赖

0、查看Nginx的版本和依赖

nginx -V

1、安装Nginx及其依赖库:

#安装Nginx的编译环境gcc
yum install -y gcc-c++
 
#Nginx的http模块使用pcre解析正则表达式所以安装perl兼容的正则表达式库
yum install -y pcre pcre-devel
 
#Nginx使用zlib对http包的内容进行gzip
yum install -y zlib zlib-devel
 
#Nginx不仅支持http协议,还支持https(即在ssl协议上传输http),如果使用了https,需要安装OpenSSL库
yum install -y openssl openssl-devel

#安装Nginx
yum install -y nginx

2、下载可编译的nginx

cd /usr/local/
wget http://nginx.org/download/nginx-1.12.2.tar.gz 
tar zxvf nginx-1.12.2.tar.gz
rm nginx-1.12.2.tar.gz
mv nginx-1.12.2 nginx

3、备份文件

cp -r /etc/nginx /etc/nginx_bak
mv /usr/sbin/nginx /usr/sbin/nginx_bak

下载rtmp模块

仓库地址:nginx-rtmp-module

cd /usr/lib64/nginx/modules/
git clone https://github.com/arut/nginx-rtmp-module.git

添加依赖

cd /usr/local/nginx/
./configure --prefix=/usr/local/nginx --conf-path=/usr/local/nginx/nginx.conf --add-module=/usr/lib64/nginx/modules/nginx-rtmp-module
make
make install

添加Nginx环境变量,可以在命令行直接输入Nginx命令

vim /etc/profile

在最后添加Nginx的路径

export NGINX_HOME=/usr/local/nginx
export PATH=$PATH:$NGINX_HOME/sbin

重新编译环境变量

source /etc/profile

配置Nginx的rtmp服务站点:

vim /usr/local/nginx/conf/nginx.conf

在http内部添加

include /etc/nginx/conf.d/*.conf;

在文件底部(和http同级)添加下面内容:

rtmp {
    server {
        listen 1935; #监听的端口 
        chunk_size 4000;
        application tv_file {
            live on; #开启实时
            hls on;  #开启hls
            hls_path /usr/local/nginx/html/tv_file; #rtmp推流请求路径,文件存放路径
            hls_fragment 5s; #每个TS文件包含5秒的视频内容
        }
    }
}

启动nginx

cd /usr/local/nginx/sbin
./nginx

查看端口是否能访问

telnet 你的ip地址 1935

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Windows服务器常用配置

    打开任务管理器-启动查看启动项(Win10上可以/Win Server2012没有该项)

    剑行者
  • 分布式文件系统(HDFS和FastDFS)

    FastDFS 是一个开源的高性能分布式文件系统(DFS)。 它的主要功能包括:文件存储,文件同步和文件访问,以及高容量和负载平衡。主要解决了海量数据存储问题,...

    剑行者
  • iOS 后台任务

    仅当你的app是真的提供给用户音频播放功能,你才能使用音频后台模式。 若我们抱有侥幸心理,为了获得CPU更多时间而利用该模式播放一段无声的音频,apple将会拒...

    剑行者
  • 憧憬博客Nginx到Tengine的迁移

    Tengine 是由淘宝网发起的 Web 服务器项目。它在 Nginx 的基础上,针对大访问量网站的需求,添加了很多高级功能和特性。据说 Tengine 的 I...

    憧憬博客
  • nginx反向代理+http user 认证访问 私有registry

    利用nginx做反向代理,从而实现对registry的访问;而nginx作为反向代理来使用在实际情况中非常多见,并且还支持基本的用户权限认证。 本节讲述如何用...

    qsjs
  • nginx牛逼tomcat弱鸡探索之道

    对于常用的服务器,大家可能更多的知道apache,tomcat,lls等服务器。我们跟多的了解到nginx常常用于反向代理。而实质是nginx也是一个高性能服务...

    bigsai
  • Linux系统下Nginx支持ipv6配置的办法

    需要执行以下命令,查看现有nginx是否支持ipv6,如果参数中具有–with-ipv6,则支持,如 果没有,则不支持,需要重新编译nginx。

    砸漏
  • 解决Centos7安装nginx后提示“Welcome to nginx on Fedora!”,conf.d目录下无default.conf文件

    以上所述是小编给大家介绍的Centos7安装nginx后提示“Welcome to nginx on Fedora!”,conf.d目录下无default.co...

    砸漏
  • linxu服务器上nginx启动、关闭、配置检查命令(推荐)

    1.假设你要修改你的域名,修改了server_name后,需要检查配置,执行ningx -t 成功后,执行nginx -s reload

    砸漏
  • Linux系统下Nginx支持ipv6配置的方法

    需要执行以下命令,查看现有nginx是否支持ipv6,如果参数中具有–with-ipv6,则支持,如 果没有,则不支持,需要重新编译nginx。

    砸漏

扫码关注云+社区

领取腾讯云代金券