利用宝塔自建linux+nginx-rtmp-module直播服务器的正确方法

说明比较长,需要一定的操作动手能力才行 。
基础条件 第一个必须是linux服务器 第二个安装了宝塔面板 第三编译安装Nginx1.7.6+php5.6
1第一步修改/www/server/panel/install/nginx.sh文件 如下图位置的文件

利用宝塔自建linux+nginx-rtmp-module直播服务器的正确方法

文章插图
 
 
点编辑 找到 ./configure 部分 免费版7.1版大约在205行 我们添加一个 --add-module=/www/server/nginx_plus/nginx-rtmp-module 添加完成后如下:请勿直接复制 版本不一样 其他的配置也不一样
./configure--add-module=/www/server/nginx_plus/nginx-rtmp-module--user=www--group=www--prefix=${Setup_Path}${ENABLE_LUA}--add-module=${Setup_Path}/src/ngx_cache_purge--add-module=${Setup_Path}/src/nginx-sticky-module--with-openssl=${Setup_Path}/src/openssl--with-pcre=pcre-${pcre_version}${ENABLE_HTTP2}--with-http_stub_status_module--with-http_ssl_module--with-http_image_filter_module--with-http_gzip_static_module--with-http_gunzip_module--with-ipv6--with-http_sub_module--with-http_flv_module--with-http_addition_module--with-http_realip_module--with-http_mp4_module--with-ld-opt="-Wl,-E"--with-cc-opt="-Wno-error"${jemallocLD}${ENABLE_NGX_PAGESPEED}${ADD_EXTENSION}可以看出就是在 --user=www 前面加上了 --add-module=/www/server/nginx_plus/nginx-rtmp-module 空格隔开
添加完了 记得保存
2第二步打开XSHELL 命令工具 或者宝塔后台的 宝塔终端 输入你服务器的root密码登录 。
执行 git clone https://github.com/arut/nginx-rtmp-module /www/server/nginx_plus/nginx-rtmp-module/ 语句,直到100%完成
利用宝塔自建linux+nginx-rtmp-module直播服务器的正确方法

文章插图
 
如下图 回车等待下载完成
3第三步第二步完成后 输入命令 sh /www/server/panel/install/nginx.sh install 1.17 回车进行nginx的编译
就不截图了和上面一样 等待编译完成 完成后大概是这样的编译时间很快几分钟的事
利用宝塔自建linux+nginx-rtmp-module直播服务器的正确方法

文章插图
 
注意,安装成功后就不要使用宝塔后台的NGINX切换版本功能了
以上部分参考 https://www.bt.cn/bbs/forum.php?mod=viewthread&tid=33703 并进行了修正 。
4第四步www 文件夹下建立 tmp 文件夹 tmp文件夹下建立 live 文件夹
利用宝塔自建linux+nginx-rtmp-module直播服务器的正确方法

文章插图
 
继续打开 /www/server/nginx/conf 目录下的 nginx.conf 文件在
events{useepoll;worker_connections51200;multi_accepton;}【利用宝塔自建linux+nginx-rtmp-module直播服务器的正确方法】下面加上
rtmp{server{listen1935;#监听的端口chunk_size4000;Applicationhls{liveon;hlson;hls_path/www/tmp/live;#视频流存放地址hls_fragment1s;hls_playlist_length2s;hls_continuouson;#连续模式 。hls_cleanupon;#对多余的切片进行删除 。hls_nestedon;#嵌套模式 。}}}
利用宝塔自建linux+nginx-rtmp-module直播服务器的正确方法

文章插图
 

access_log/www/wwwlogs/access.log;}下面加上
server{listen8080;####要配置https格式访问的话就要把下面的启用,即把开头的#号删除,同时修改域名及证书#listen8082ssl;#https协议的端口号比如https://xx.com:8082/#server_namesvn.php168.com;#填写绑定证书的域名#ssl_certificateC:/nginx-rtmp-win32-dev/conf/svn.php168.com.crt;#换成自己的证书注意路径#ssl_certificate_keyC:/nginx-rtmp-win32-dev/conf/svn.php168.com.key;#换成自己的证书#ssl_protocolsTLSv1TLSv1.1TLSv1.2;#ssl_ciphersECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;#ssl_prefer_server_cipherson;#ssl_session_cacheshared:SSL:10m;#ssl_session_timeout10m;#error_page497https://$host$request_uri;location/{roothtml;}location/stat{rtmp_statall;rtmp_stat_stylesheetstat.xsl;}location/stat.xsl{root/www/server/nginx_plus/nginx-rtmp-module/;}location/hls{#添加视频流存放地址 。types{application/vnd.apple.mpegurlm3u8;video/mp2tts;}#访问权限开启,否则访问这个地址会报403autoindexon;alias/www/tmp/live;#视频流存放地址,与上面的hls_path相对应,这里root和alias的区别可自行百度expires-1;add_headerCache-Controlno-cache;#防止跨域问题add_header'Access-Control-Allow-Origin''*';add_header'Access-Control-Allow-Credentials''true';add_header'Access-Control-Allow-Methods''GET,POST,OPTIONS';add_header'Access-Control-Allow-Headers''DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type';}添加完成后的完整配置:(可以对照着修改)
userwwwwww;worker_processesauto;error_log/www/wwwlogs/nginx_error.logcrit;pid/www/server/nginx/logs/nginx.pid;worker_rlimit_nofile51200;events{useepoll;worker_connections51200;multi_accepton;}rtmp{server{listen1935;#监听的端口chunk_size4000;applicationhls{liveon;hlson;hls_path/www/tmp/live;#视频流存放地址hls_fragment1s;hls_playlist_length2s;hls_continuouson;#连续模式 。hls_cleanupon;#对多余的切片进行删除 。hls_nestedon;#嵌套模式 。}}}http{includemime.types;#includeluawaf.conf;includeproxy.conf;default_typeapplication/octet-stream;server_names_hash_bucket_size512;client_header_buffer_size32k;large_client_header_buffers432k;client_max_body_size50m;sendfileon;tcp_nopushon;keepalive_timeout60;tcp_nodelayon;fastcgi_connect_timeout300;fastcgi_send_timeout300;fastcgi_read_timeout300;fastcgi_buffer_size64k;fastcgi_buffers464k;fastcgi_busy_buffers_size128k;fastcgi_temp_file_write_size256k;fastcgi_intercept_errorson;gzipon;gzip_min_length1k;gzip_buffers416k;gzip_http_version1.1;gzip_comp_level2;gzip_typestext/plainapplication/JAVAscriptapplication/x-JavaScripttext/javascripttext/cssapplication/xml;gzip_varyon;gzip_proxiedexpiredno-cacheno-storeprivateauth;gzip_disable"MSIE[1-6].";limit_conn_zone$binary_remote_addrzone=perip:10m;limit_conn_zone$server_namezone=perserver:10m;server_tokensoff;access_logoff;server{listen888;server_namephpmyadmin;indexindex.htmlindex.htmindex.php;root/www/server/phpmyadmin;#error_page404/404.html;includeenable-php.conf;location~.*.(gif|jpg|jpeg|png|bmp|swf)${expires30d;}location~.*.(js|css)?${expires12h;}location~/.{denyall;} access_log/www/wwwlogs/access.log;}server{listen8080;####要配置https格式访问的话就要把下面的启用,即把开头的#号删除,同时修改域名及证书#listen8082ssl;#https协议的端口号比如https://xx.com:8082/#server_namesvn.php168.com;#填写绑定证书的域名#ssl_certificateC:/nginx-rtmp-win32-dev/conf/svn.php168.com.crt;#换成自己的证书注意路径#ssl_certificate_keyC:/nginx-rtmp-win32-dev/conf/svn.php168.com.key;#换成自己的证书#ssl_protocolsTLSv1TLSv1.1TLSv1.2;#ssl_ciphersECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;#ssl_prefer_server_cipherson;#ssl_session_cacheshared:SSL:10m;#ssl_session_timeout10m;#error_page497https://$host$request_uri;location/{roothtml;}location/stat{rtmp_statall;rtmp_stat_stylesheetstat.xsl;}location/stat.xsl{root/www/server/nginx_plus/nginx-rtmp-module/;}location/hls{#添加视频流存放地址 。types{application/vnd.apple.mpegurlm3u8;video/mp2tts;}#访问权限开启,否则访问这个地址会报403autoindexon;alias/www/tmp/live;#视频流存放地址,与上面的hls_path相对应,这里root和alias的区别可自行百度expires-1;add_headerCache-Controlno-cache;#防止跨域问题add_header'Access-Control-Allow-Origin''*';add_header'Access-Control-Allow-Credentials''true';add_header'Access-Control-Allow-Methods''GET,POST,OPTIONS';add_header'Access-Control-Allow-Headers''DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type';}}include/www/server/panel/vhost/nginx/*.conf;}


推荐阅读