nginx 安装后添加 rtmp 模块

与 使用 nginx rtmp module 实现 rmtp 点播/直播功能 中不同的是,nginx 不需要全新安装,并且保留了已经安装的模块,但仍需要重新编译。

环境

  • Ubuntu 18.04 Server
  • nginx 1.14.0

参考

步骤

  1. 下载 rtmp 模块
    git clone https://github.com/arut/nginx-rtmp-module.git
  2. 查看已安装 nginx 的版本,并下载解压对应版本
    nginx -V
    wget http://nginx.org/download/nginx-[Version].tar.gz
    tar zxvf nginx-[Version].tar.gz
    cd nginx-[Version]
  3. 修改编译配置文件
    • 查看已安装 nginx 的编译参数
      nginx -V

      输出中的 configure arguments 一行即为现有的编译参数,复制保留

    • 配置编译参数
      # 在解压后的 nginx 目录下
      ./configure [一大串参数] --add-module=../nginx-rtmp-module # 这里 rtmp 模块的目录与 nginx 解压目录同级

      在原有的参数后添加 –add-module=../nginx-rtmp-module 来加入 rtmp 模块

    • 如果在配置参数时报错,则安装报错所缺的库,可以参考 ubuntu nginx with txid module (适用于 ubuntu,CentOS下包名称不一样)
  4. 编译
    make

    编译时可能出现 recipe for target ‘objs/addon/nginx-rtmp-module/ngx_rtmp_stat_module.o’ failed 的错误,去掉 配置中的 -Wdate-time 即可顺利编译

  5. 替换原有可执行文件
    • 将 objs 目录下编译的新版本 nginx 复制到旧版本目录下
      #先关闭 nginx 服务
      systemctl stop nginx
      cp objs/nginx /usr/sbin/nginx

      可以使用 whereis 指令查看 nginx 所在目录,Ubuntu 使用 apt 包管理安装的 nginx 默认在 /usr/sbin 下

rtmp 模块添加成功

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据