• 二. 搭建Nginx 直播流程服务器


    1. 前言

            服务器由 NGINX+RTMP 构成。 NGINX HTTP 服务器, RTMP 是附加模块。
    其中 NGINX 我选择的是用 源码编译方式 进行安装,因为这种方式可以自定义安装指定的模
    块以及最新版本。
            在我们准备好系统环境之后,我们就需要开始安装 Nginx 了,安装 Nginx 我们需要先把他的
    依赖给安装,然后下载相关的源码进行编译,最后执行编译安装

    2. 安装 Nginx 依赖

            在我们更新 apt 软件源完成之后,就可以安装 Nginx 等一些软件的依赖环境,执行的命令如
    下所示
    apt-get install -y libpcre3 libpcre3-dev libssl-dev zlib1g-dev gcc wget unzip vim make curl
            安装的依赖软件有点多,会根据你的网速安装速度也不一样,命令执行之后,返回的信息如
    下图所示
            从上图中可以看到依赖已经安装完成,接下来我们开始安装nginx nginx 不能使用 apt 安装,
    需要源码编译安装才可以,因为需要我们编译一个模块进去

    3.下载源码

            我们首先将需要的模块下载下来,这里使用 nginx-rtmp-module ,而是使用
    nginx-http-flv-module 来替代,因为后者是基于前者开发的,前者拥有的功能后者都有,后
    者是国内的开发开发,有中文文档,所以就采用它了,首先将它下载下来并解压,执行的命
    令如下所示
    wgethttps://github.com/winshining/nginx-http-flv-module/archive/master.zip
    然后,解压:
            命令执行之后,返回的信息如下图所示
            从上图中可以看出已经下载并解压完成, 接着我们还需要下载 nginx 本身的源码, 下载 Nginx 源码并解压的命令如下所示
    wget http://nginx.org/download/nginx-1.17.6.tar.gz

    然后解压:
    tar -zxvf nginx-1.17.6.tar.gz

    4. 编译安装

            接着我们进入编译安装环节,首先进入刚才解压的 nginx 目录当中,执行的命令如下所示
    cd nginx-1.17.6 && ls
    命令执行之后,返回的信息如下图所示
            从上图中可以看到解压出来的目录结构,我们执行./configure 便可以配置编译参数,这个地
    方我们需要将刚才下载的插件 nginx-http-flv-module 加入进来 , 执行的命令如下所示.
    ./configure --add-module=../nginx-http-flv-module-master
            命令执行之后,返回的信息如下图所示
            在上图中可以看到准备编译已经完成,但在编译的过程当中有可能会出现一些意外因素,
    nginx 默认编译非常严格,只要遇到一些意外就会中断编译 ,因此我们将一些非致命的意外
    设置为警告模式,执行命令如下所示
    vim objs/Makefile
            在当前文件夹下有一个 objs/Makefile 文件,我们将里面的 -Werror 删除 ,用 vim 打开文件后
    如下所示
            删除之后,保存并退出,接着就可以进行编译 Nginx 了,编译的过程稍微有点长,执行的命
    令如下所示
    make && make install

            安装命令执行之后,返回的信息如下图所示

            在上图中可以可以看到安装过程大致执行了哪些命令,安装完成后接下来需要进行一些简单
    的配置就可以使用了

    5.配置 rtmp 服务

            在完成 Nginx 的安装之后,我们需要对 Nginx 进行一番配置,并启动 Nginx 服务

     我们直接使用 vim 命令去编辑 Nginx 的配置文件,执行命令如下所示 vim /usr/local/nginx/conf/nginx.conf 预览 vim 命令执行之后,打开的编辑窗口如下所示

            我们将以下配置信息复制并粘贴到配置文件信息里面,放在 http 配置上面
    rtmp {
    #RTMP 服务
    server {
    listen 1935; #// 服务端口
    chunk_size 4096;
    #// 数据传输块的大小
    application live1{ # 这个是“直播”
    live on; #// 视频文件存放位置。
    }
    application hls1{ # 这个是“ HLS 直播”
    live on; #// 视频文件存放位置。
    hls on;
    hls_path /usr/local/ngingx/html/hls1;
    # 注意:需要手工创建 /tmp/hls 目录, mkdir -p /tmp/hls
    }
    application vod { # 这个是“点播”
    play /opt/video/vod; #// 视频文件存放位置。
             }
       }
    }

     6.验证配置

            粘贴完成并保存之后,我们在终端执行 nginx -t 命令, 来测试一下配置文件是否有异常 ,执
    行命令如下所示
    /usr/local/nginx/sbin/nginx -t
            命令执行之后,返回的信息如下图所示
            在上图中可以看出 Nginx 提示我们配置文件没有异常,说明我们配置没有语法错误,我们启
    动一下 Nginx ,执行命令如下所示:
    /usr/local/nginx/sbin/nginx
            如果 80 端口已经被 apache 占用, 可以 kill apache 的进程, 或者将 nginx 的端口改为 8000. 将 http 下的 server 下的 listen 改为 8000 即可,截图如下:
            验证 nginx 是否成功启动, 打开 window10 的 chrome ,输入 http://192.168.0.104:8000
    注意:我这里的 ip 192.168.0.104 nginx 端口是 8000 ,请改成您自己的 ip 和端口。
  • 相关阅读:
    shiro学习笔记——shiro拦截器与url匹配规则
    React——关于JSX
    46道面试题带你了解高级Java面试
    网络靶场实战-物联网安全qiling框架初探
    提高用户粘性,社交产品怎么做?
    Vite: 新一代高效的前端构建工具
    笔记本Kali系统主屏幕损坏后利用屏幕2启动失败修复
    【DBAPI教程】DBAPI如何使用复杂多层嵌套JSON作为请求参数
    Flutter气泡框实现
    MFC转Winform&&C++转C#
  • 原文地址:https://blog.csdn.net/weixin_51988935/article/details/138159342