• docker编译一个支持flv的nginx镜像


    在本地下载编译了下

    (参考:https://www.cnblogs.com/hhmm99/p/16050844.html)

    相关文件下载

    https://nginx.org/download/
    https://gitee.com/winshining/nginx-http-flv-module

    编译时缺少openssl报错

    ./configure: error: SSL modules require the OpenSSL library.
    You can either do not enable the modules, or install the OpenSSL library
    into the system, or build the OpenSSL library statically from the source
    with nginx by using --with-openssl= option.

    sudo apt install openssl libssl-dev
    
    1. ./configure --add-module=/home/dtjk/work_rtsp/nginx-http-flv-module --with-http_ssl_module
    2. make
    3. make install

    不想执行最后一步make install而污染本地系统,

    所以就放docker里面去了

    docker编译镜像

    • 安装 Docker 确保你已经在系统上安装了 Docker。如果还没有安装,可以参考 Docker 官方安装文档

    • 创建 Dockerfile 创建一个新的目录来存放你的 Dockerfile 和相关文件。比如,nginx-flv.

      1. mkdir nginx-flv
      2. cd nginx-flv
    • 编写 Dockerfilenginx-flv 目录中创建一个名为 Dockerfile 的文件,内容如下:

    1. # 使用官方的 Debian 镜像作为基础镜像
    2. FROM debian:latest
    3. # 安装必要的依赖
    4. RUN apt-get update && apt-get install -y \
    5. build-essential \
    6. libpcre3 \
    7. libpcre3-dev \
    8. zlib1g \
    9. zlib1g-dev \
    10. libssl-dev \
    11. wget
    12. # 下载并解压 Nginx 源码
    13. RUN wget http://nginx.org/download/nginx-1.24.0.tar.gz && \
    14. tar -zxvf nginx-1.24.0.tar.gz
    15. # 下载并解压 Nginx-RTMP 模块源码
    16. RUN wget https://gitee.com/winshining/nginx-http-flv-module/repository/archive/master.zip && \
    17. unzip master.zip
    18. # 编译 Nginx 并添加 RTMP 模块
    19. WORKDIR /nginx-1.24.0
    20. RUN ./configure --with-http_ssl_module --add-module=../nginx-rtmp-module-master && \
    21. make && \
    22. make install
    23. # 暴露 Nginx 默认端口
    24. EXPOSE 80 1935
    25. # 启动 Nginx
    26. CMD ["nginx", "-g", "daemon off;"]

    构建 Docker 镜像

    nginx-flv 目录中运行以下命令来构建 Docker 镜像:

    • docker build -t my-nginx-flv .
      
    • 运行 Docker 容器 构建完成后,你可以使用以下命令来运行一个基于新镜像的容器:

    • docker run --name my-nginx-flv-container -d -p 80:80 -p 1935:1935 my-nginx-flv
      

      这样,你就可以访问运行在容器中的 Nginx 服务了。

    • 验证 打开浏览器,访问 http://localhost,确认 Nginx 已经成功启动。如果需要配置 Nginx 以支持 FLV 流媒体播放,你需要进一步调整 Nginx 的配置文件。

    • 修改 Nginx 配置 如果你需要自定义 Nginx 配置,可以在 Dockerfile 中添加复制配置文件的步骤。例如,将本地的 nginx.conf 文件复制到镜像的适当位置。

      Dockerfile

      1. # 继续之前的 Dockerfile 内容
      2. COPY nginx.conf /usr/local/nginx/conf/nginx.conf

    用这种方式,你可以灵活地调整和扩展 Nginx 的功能,满足各种需求。

  • 相关阅读:
    记录:Unity脚本的编写5.0
    系统架构设计师(第二版)学习笔记----信息安全基础知识
    【antd】5分钟快速完成antd样式的按需引入以及自定义主题
    Java多线程基础(创建、使用,状态)——Java第九讲
    系统架构设计精华知识
    二叉树的顺序存储——堆——初识堆排序
    13.(开发工具篇github)如何在GitHub上上传本地项目
    leetcode 345. Reverse Vowels of a String(元音字母逆序)
    ATC‘22顶会论文RunD:高密高并发的轻量级 Serverless 安全容器运行时
    剑指 Offer 57. 和为s的两个数字
  • 原文地址:https://blog.csdn.net/Henry_Wu001/article/details/139624753