You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Yocto项目中为nginx添加rtmp-module?

Yocto环境下为nginx添加rtmp-module操作指导

首先确认你已将meta-webserver层加入项目的bblayers.conf配置中,该层提供了官方维护的nginx标准配方。

1. 创建自定义配置目录

在你自己维护的自定义层(例如meta-custom)下创建对应配置目录:

mkdir -p meta-custom/recipes-httpd/nginx/

在该目录下新建nginx_%.bbappend文件,该文件会对所有版本的nginx配方生效,无需适配特定nginx版本。

2. 编写bbappend配置内容

将以下内容写入nginx_%.bbappend:

# 引入rtmp-module源码,可配置为本地源码路径或者代码仓库地址
SRC_URI += "git://<你的rtmp-module源码存储地址>;protocol=https;branch=master;destsuffix=nginx-rtmp-module"
# 替换为你使用的对应版本rtmp-module源码的校验值
SRC_URI[md5sum] = "实际计算得到的md5校验值"
SRC_URI[sha256sum] = "实际计算得到的sha256校验值"

# 向nginx的编译参数中新增rtmp模块编译配置
EXTRA_OECONF += "--add-module=${WORKDIR}/nginx-rtmp-module"

# 可选:如果需要将带rtmp配置的nginx配置文件默认打包进镜像
# 提前把自定义的nginx.conf放到meta-custom/recipes-httpd/nginx/files/目录下
# SRC_URI += "file://nginx.conf"
# do_install:append() {
#    install -m 0644 ${WORKDIR}/nginx.conf ${D}${sysconfdir}/nginx/nginx.conf
# }

3. 编译验证

  • 清理之前的nginx编译缓存:bitbake -c clean nginx
  • 单独编译nginx验证配置是否正确:bitbake nginx
  • 编译无报错后,重新构建你的自定义镜像即可将带rtmp模块的nginx打包进镜像:bitbake <你的自定义镜像名称>

常见问题排查

  • 编译报错提示找不到rtmp-module路径:检查SRC_URI中的destsuffix配置是否和--add-module指向的路径一致
  • nginx启动报错提示不识别rtmp配置段:检查编译目录下的config.log,确认实际编译参数是否已经包含rtmp-module的配置项
  • nginx 1.25及以上版本建议使用rtmp-module的dev分支,避免版本兼容导致的编译失败

内容的提问来源于stack exchange,提问作者sabhi zakaria

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 09:57:00