返回
快速导航关闭
当前搜索
网站分类
栏目推荐
实用工具
热门标签
子分类:
创奇学院 >SEO >服务器 » 正文

宝塔控制面板安装教程,利用宝塔自建linux+nginx-rtmp-module直播服务器的正确方法

服务器 更新时间: 发布时间: 服务器归档 最新发布 网站地图

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

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

1第一步

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



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


如下图 回车等待下载完成

3第三步

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

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


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

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

4第四步

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


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

events    {
        use epoll;
        worker_connections 51200;
        multi_accept on;
    }

下面加上

rtmp {  
  
    server {  
  
        listen 1935;  #监听的端口  
        chunk_size 4000;  
        
        application hls {
            live on;
            hls on;
            hls_path /www/tmp/live;#视频流存放地址            hls_fragment 1s;
            hls_playlist_length 2s;
            hls_continuous on; #连续模式。            hls_cleanup on;    #对多余的切片进行删除。            hls_nested on;     #嵌套模式。        }
    }  
}


   access_log  /www/wwwlogs/access.log;
    }

下面加上

server
    {
        listen 8080;
        ####要配置https格式访问的话就要把下面的启用,即把开头的#号删除,同时修改域名及证书#listen 8082 ssl;				#https协议的端口号 比如 https://xx.com:8082/        #server_name svn.php168.com;		#填写绑定证书的域名#ssl_certificate    C:/nginx-rtmp-win32-dev/conf/svn.php168.com.crt;			#换成自己的证书 注意路径#ssl_certificate_key    C:/nginx-rtmp-win32-dev/conf/svn.php168.com.key;		#换成自己的证书#ssl_protocols TLSv1 TLSv1.1 TLSv1.2;#ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;#ssl_prefer_server_ciphers on;#ssl_session_cache shared:SSL:10m;#ssl_session_timeout 10m;#error_page 497  https://$host$request_uri;           location / {
            root html;
        }
		
        location /stat {
            rtmp_stat all;
            rtmp_stat_stylesheet stat.xsl;
        }

        location /stat.xsl {
            root /www/server/nginx_plus/nginx-rtmp-module/;
        }
          location /hls {  #添加视频流存放地址。        types {
            application/vnd.apple.mpegurl m3u8;
            video/mp2t ts;
        }
        #访问权限开启,否则访问这个地址会报403        autoindex on;
        alias /www/tmp/live;#视频流存放地址,与上面的hls_path相对应,这里root和alias的区别可自行百度        expires -1;
        add_header Cache-Control no-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';  
}

添加完成后的完整配置:(可以对照着修改)

user  www www;
worker_processes auto;
error_log  /www/wwwlogs/nginx_error.log  crit;
pid        /www/server/nginx/logs/nginx.pid;
worker_rlimit_nofile 51200;

events
    {
        use epoll;
        worker_connections 51200;
        multi_accept on;
    }
rtmp {  
  
    server {  
  
        listen 1935;  #监听的端口  
        chunk_size 4000;  
        
        application hls {
            live on;
            hls on;
            hls_path /www/tmp/live;#视频流存放地址            hls_fragment 1s;
            hls_playlist_length 2s;
            hls_continuous on; #连续模式。            hls_cleanup on;    #对多余的切片进行删除。            hls_nested on;     #嵌套模式。        }
    }  
}
http
    {
        include       mime.types;#include luawaf.conf;

		include proxy.conf;

        default_type  application/octet-stream;

        server_names_hash_bucket_size 512;
        client_header_buffer_size 32k;
        large_client_header_buffers 4 32k;
        client_max_body_size 50m;

        sendfile   on;
        tcp_nopush on;

        keepalive_timeout 60;

        tcp_nodelay on;

        fastcgi_connect_timeout 300;
        fastcgi_send_timeout 300;
        fastcgi_read_timeout 300;
        fastcgi_buffer_size 64k;
        fastcgi_buffers 4 64k;
        fastcgi_busy_buffers_size 128k;
        fastcgi_temp_file_write_size 256k;
		fastcgi_intercept_errors on;

        gzip on;
        gzip_min_length  1k;
        gzip_buffers     4 16k;
        gzip_http_version 1.1;
        gzip_comp_level 2;
        gzip_types     text/plain application/javascript application/x-javascript text/javascript text/css application/xml;
        gzip_vary on;
        gzip_proxied   expired no-cache no-store private auth;
        gzip_disable   "MSIE [1-6]\.";

        limit_conn_zone $binary_remote_addr zone=perip:10m;
		limit_conn_zone $server_name zone=perserver:10m;

        server_tokens off;
        access_log off;

server
    {
        listen 888;
        server_name phpmyadmin;
        index index.html index.htm index.php;
        root  /www/server/phpmyadmin;

        #error_page   404   /404.html;        include enable-php.conf;

        location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
        {
            expires      30d;
        }

        location ~ .*\.(js|css)?$
        {
            expires      12h;
        }

        location ~ /\.
        {
            deny all;
        }
	
        access_log  /www/wwwlogs/access.log;
    }
    server
    {
        listen 8080;
        ####要配置https格式访问的话就要把下面的启用,即把开头的#号删除,同时修改域名及证书#listen 8082 ssl;				#https协议的端口号 比如 https://xx.com:8082/        #server_name svn.php168.com;		#填写绑定证书的域名#ssl_certificate    C:/nginx-rtmp-win32-dev/conf/svn.php168.com.crt;			#换成自己的证书 注意路径#ssl_certificate_key    C:/nginx-rtmp-win32-dev/conf/svn.php168.com.key;		#换成自己的证书#ssl_protocols TLSv1 TLSv1.1 TLSv1.2;#ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;#ssl_prefer_server_ciphers on;#ssl_session_cache shared:SSL:10m;#ssl_session_timeout 10m;#error_page 497  https://$host$request_uri;           location / {
            root html;
        }
		
        location /stat {
            rtmp_stat all;
            rtmp_stat_stylesheet stat.xsl;
        }

        location /stat.xsl {
            root /www/server/nginx_plus/nginx-rtmp-module/;
        }
          location /hls {  #添加视频流存放地址。        types {
            application/vnd.apple.mpegurl m3u8;
            video/mp2t ts;
        }
        #访问权限开启,否则访问这个地址会报403        autoindex on;
        alias /www/tmp/live;#视频流存放地址,与上面的hls_path相对应,这里root和alias的区别可自行百度        expires -1;
        add_header Cache-Control no-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;
}

最后记得点保存。


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



5最后一步


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


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

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

后台插件设置



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




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块钱买了一个月测试了下自建服务器 没有用了

转载请注明:文章转载自 http://www.320g.com/
本文地址:http://www.320g.com/fwq/2920.html
考高分网交流群

扫一扫加入QQ交流群

和更多志同道合朋友一起交流,分享干货资料!
创奇学院客服

扫一扫加客服微信

有疑问请咨询创奇学院微信号,在线为您解答!
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 Copyright 320g.com Rights Reserved. Powered · 创奇学院

ICP备案号:陇ICP备2020003353号