centos 7下nginx搭建流媒体服务器【动态添加模块】

1、安装nginx依赖包 yum install gcc gcc-c++ openssl-devel zlib-devel pcre pcre-devel yamdi

2.下载解压nginx_mod_h264_streaming,让nginx支持flv,mp4流播放

wget http://h264.code-shop.com/download/nginx_mod_h264_streaming-2.2.7.tar.gz

解压后需要修改src目录下的ngx_http_streaming_module.c文件,将r->zero_in_uri所在的if语句注释掉

3.下载解压nginx-rtmp-module,让nginx支持rtmp/hls协议,

wegt -o nginx-rtmp-module.zip https://github.com/arut/nginx-rtmp-module/archive/master.zip

4下载清除缓存的模块 wget -O ngx_cache_purge.zip https://github.com/FRiCKLE/ngx_cache_purge/archive/master.zip

5、使用./nginx -V查看已经配置安装的模块

在原有基础添加模块 --add-module=...

流媒体搭建模块如下:

./configure --add-module=/usr/local/nginx-1.13.1/additional/nginx-rtmp-module-master --add-module=/usr/local/nginx-1.13.1/additional/ngx_cache_purge-master --add-module=/usr/local/nginx-1.13.1/additional/nginx_mod_h264_streaming-2.2.7 --with-http_stub_status_module --with-http_ssl_module --with-http_sub_module --with-http_gzip_static_module --with-http_flv_module

6、使用make命令【已经安装了nginx就不要使用make install命令】

7、备份原有nginx执行文件

cp nginx nginx.bak【在/usr/local/nginx/sbin目录下】

8、更新新模块执行文件

cp /objs/nginx /usr/local/nginx/sbin/ 【在安装目录下】

注:

访问可能出现的问题:

403 forbidden

no permit

解决方法:将nginx.conf头部文件修改为:user nginx[必须是linux上存在的用户,否则无权限访问(播放)文件]

nginx.conf

rtmp模块实例
rtmp { #RTMP服务
  server {
    listen 1935; #服务端口 
    chunk_size 4096; #数据传输块的大小

    application vod {
      play /data/movie/vod/; #视频文件存放位置。
    }
  }
}

http模块实例
location /video/ {
  #注意root 与 alias区别:
  #如果以下变成root则访问test.mp4文件地址为:
  #/data/movie/vod/video/test.mp4文件地址为:
  #否则alias时为:/data/movie/vod/test.mp4
  alias /data/movie/vod/;
  autoindex on;#这个默认是off的 意思是禁止访问目录
}