搭建基于rtmp协议的推流服务器。
环境Centos 7 + Nginx
我这里默认nginx是用yum安装的
所以这篇文章最大可能和yum安装的nginx保持相同的配置
/usr/sbin/nginx
执行文件/usr/lib64/nginx/modules/
依赖模块目录/etc/nginx
配置文件路径/usr/share/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