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

说明比较长,需要一定的操作动手能力才行。

基础条件 第一个必须是linux服务器 第二个安装了宝塔面板 第三编译安装Nginx1.7.6+php5.6

1第一步

修改/www/server/panel/install/nginx.sh文件 如下图位置的文件

55982514f820483610b87288695d71d0.png

点编辑 找到 ./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%完成

ec814eaee79d5d53a47f3cde4c0a4fe3.png

如下图 回车等待下载完成

3第三步

第二步完成后 输入命令 sh /www/server/panel/install/nginx.sh install 1.17 回车进行nginx的编译

就不截图了和上面一样 等待编译完成 完成后大概是这样的编译时间很快几分钟的事

1cf437f7da9db994df66ca7026c12f22.png

注意,安装成功后就不要使用宝塔后台的NGINX切换版本功能了

以上部分参考 https://www.bt.cn/bbs/forum.php?mod=viewthread&tid=33703 并进行了修正。

4第四步

www 文件夹下建立 tmp 文件夹 tmp文件夹下建立 live 文件夹

d2c38864723f86129c243e4eb514d9ca.png

继续打开 /www/server/nginx/conf 目录下的 nginx.conf 文件在

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;#嵌套模式。

}

}

}

8e134c64e21d94095acfbacb08fea24e.png

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;

}

#访问权限开启,否则访问这个地址会报403

autoindexon;

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;

}

#访问权限开启,否则访问这个地址会报403

autoindexon;

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;

}

最后记得点保存。

1e28f655555b97c26fa855dd3f018365.png

点他后面的设置按钮 先点重载配置 再点重启

fc500b71f37221c57c1e4200b49f79a1.png

5最后一步

52b75e6370eb3c01e86c9181859e5903.png

在这里我们可以添加一个 ip或者你域名的网站

推流地址:rtmp://122.51.110.79/hls/selfserver162 ip可以是你这里绑定的域名或者ip selfserver162 是流名称

播放地址:http://122.51.110.79/hls/selfserver162/index.m3u8 selfserver162 是流名称

后台插件设置

28d7bfa112ae7753983a28a8f482138d.png

以下是隐藏的内容需要回复才可见,因为回复过了,所以下面的内容可见

69_202002051909190ee29.rar(头条不能上传附件,请童孩们关注我并私信“直播服务器运行附件”留下邮箱,我会统一发到邮箱)

下载附件解压 放到你新创建的这个网站根目录。

宝塔后台添加一个定时任务一分钟执行一次就好或者自行百度shell 执行php

或者在xshell cd到你刚刚创建的网站根目录执行 nohup php zhibo.php & 任何按任意键返回控制台 再关闭xshell即可

zhibo.php 请打开修改17 18 19行为自己的网址

$web_url 为你展示直播的网站

$play_server 和$stat_url 为你最后一步在直播服务器创建的网站域名或者ip

步骤比较多 中间也修正过多次 应该是没有遗漏了 出问题概不负责 也是瞎鼓捣的

提供一个测试直播服务器 http://122.51.110.79 直播插件选择自建服务器 输入这个ip即可 有效期一个月 1核1G1M宽带的 1块钱买了一个月测试了下自建服务器 没有用了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值