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=<path> option.

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

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

所以就放docker里面去了

docker编译镜像

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

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

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

# 使用官方的 Debian 镜像作为基础镜像
FROM debian:latest# 安装必要的依赖
RUN apt-get update && apt-get install -y \build-essential \libpcre3 \libpcre3-dev \zlib1g \zlib1g-dev \libssl-dev \wget# 下载并解压 Nginx 源码
RUN wget http://nginx.org/download/nginx-1.24.0.tar.gz && \tar -zxvf nginx-1.24.0.tar.gz# 下载并解压 Nginx-RTMP 模块源码
RUN wget https://gitee.com/winshining/nginx-http-flv-module/repository/archive/master.zip && \unzip master.zip# 编译 Nginx 并添加 RTMP 模块
WORKDIR /nginx-1.24.0RUN ./configure --with-http_ssl_module --add-module=../nginx-rtmp-module-master && \make && \make install# 暴露 Nginx 默认端口
EXPOSE 80 1935# 启动 Nginx
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 内容
    COPY nginx.conf /usr/local/nginx/conf/nginx.conf
    

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/26938.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

化学品危险性分类鉴定报告 危化品危险性分类

一、化学品危险性分类报告&#xff1a; 按照国务院令 第591号 《危险化学品安全管理条例》、原十部委公告 2015年 第5号 《危险化学品目录&#xff08;2015版&#xff09;》、原安监总局令 第60号《化学品物理危险性鉴定与分类管理办法》和原安监总局令 第53号《危险化学品登记…

IBM Spectrum LSF Process Manager 在共享分布式计算环境中运行和管理业务关键工作流程

亮点 ● 快速创建复杂的分布式工作流 ● 开发可重复的最佳实践 ● 自信地运行关键工作流程 ● 提高流程可靠性 IBM Spectrum LSF Process Manager 使您能够设计和自动化计算或分析流程&#xff0c; 捕获和保护可重复的最佳实践。 使用直观的图形界面&#xff0c;您可以轻松记录…

【漏洞复现】飞企互联-FE企业运营管理平台 treeXml.jsp SQL注入漏洞

0x01 产品简介 飞企互联-FE企业运营管理平台是一个基于云计算、智能化、大数据、物联网、移动互联网等技术支撑的云工作台。这个平台可以连接人、链接端、联通内外&#xff0c;支持企业B2B、C2B与020等核心需求&#xff0c;为不同行业客户的互联网转型提供支持。其特色在于提供…

【十大排序算法】基数排序

数字犹如无数繁星&#xff0c;基数排序如晨曦的指引&#xff0c;将混沌序列织就成和谐的序曲。 文章目录 一、基数排序二、发展历史三、处理流程四、算法实现五、算法特性六、小结推荐阅读 一、基数排序 基数排序是一种非比较性的排序算法&#xff0c;它根据元素的位数来对元…

极限网关助力好未来 Elasticsearch 容器化升级

极限网关在好未来的最佳实践案例&#xff0c;轻松扛住日增百 TB 数据的流量&#xff0c;助力 ES 从物理机到云原生架构的改造&#xff0c;实现了流控、请求分析、安全管理、无缝迁移等场景。一次完美的客户体验~ 背景 物理机架构时代 2022 年&#xff0c;好未来整个日志 Elas…

GitLab中用户权限

0 Preface/Foreword 1 权限介绍 包含5种权限&#xff1a; Guest&#xff08;访客&#xff09;&#xff1a;可以创建issue、发表comment&#xff0c;不能读写版本库Reporter&#xff08;报告者&#xff09;&#xff1a;可以克隆代码&#xff0c;不能提交。适合QA/PMDeveloper&…

教学辅助系统的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;教师管理&#xff0c;作业管理&#xff0c;学生管理&#xff0c;管理员管理&#xff0c;作业提交管理&#xff0c;教学视频管理 教室账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0…

Oracle表空间扩容

1、查询表空间使用情况&#xff08;未考虑自增长情况&#xff09; SELECT UPPER(F.TABLESPACE_NAME) "表空间名",D.TOT_GROOTTE_MB "表空间大小(M)",D.TOT_GROOTTE_MB - F.TOTAL_BYTES "已使用空间(M)",TO_CHAR(ROUND((D.TOT_GROOTTE_MB - F.TO…

React+TS前台项目实战(九)-- 全局常用组件弹窗Dialog封装

文章目录 前言Dialog公共弹窗组件1. 功能分析2. 代码详细注释3. 使用方式4. 效果展示 总结 前言 今天这篇主要讲全局公共弹窗Dialog组件封装&#xff0c;将用到上篇封装的模态框Modal组件。有时在前台项目中&#xff0c;偶尔要用到一两个常用的组件&#xff0c;如 弹窗&#x…

Oracle修改数据

两种方法&#xff0c;第一种select * from table for update; 第二种&#xff0c;select t.* &#xff0c;t.rowid from table t; 兄弟们啊&#xff0c;最近一直内网工作&#xff0c;很多东西也没时间发。等后面再补吧

HTTP 概述

HTTP 概述 HTTP 是一种用于获取资源&#xff08;如 HTML 文档&#xff09;的协议。 它是 Web 上任何数据交换的基础&#xff0c;它是一种客户端-服务器协议&#xff0c;这意味着请求由接收方&#xff08;通常是 Web 浏览器&#xff09;发起。 一个完整的文档是从获取的不同子文…

2024全国大学生信息安全竞赛(ciscn)半决赛东北赛区Pwn题解

前言 今年Ciscn华东北赛区半决赛的时间比较晚&#xff0c;找东北赛区的师傅要了一份半决赛Pwn题。 听说好像有5个Pwn题&#xff0c;但是只拿到了4个。如果有师傅有剩下那一个欢迎私信我。 拿到手的4个除了最后一个vmJS&#xff0c;还是挺简单的。都是格式化字符串、栈溢出和…

构建 LLM 应用为什么需要文本加载器,langchain 中如何使用文本加载器?

构建 LLM 应用为什么需要文本加载器&#xff0c;langchain 中如何使用文本加载器&#xff1f; 上一篇文章中 [使用langchain搭建本地知识库系统(新) 我们构建一个 RAG 的本地应用&#xff0c;我们使用到了网页的文本加载器用来动态获取网页的数据。 在不同的应用场景中需要使…

通信里面常说的的dtu什么意思

DTU是“Data Transfer Unit”的缩写&#xff0c;它是一种专门设计用于在不同通信系统间传输数据的设备&#xff0c;尤其是在远程监控和数据采集系统中扮演着重要角色。DTU的主要功能是实现串口数据&#xff08;如RS232、RS485等&#xff09;与IP数据之间的转换&#xff0c;并通…

19.2 HTTP客户端-定制HTTP请求、调试HTTP、响应超时

1. 定制HTTP请求 如果需要对向服务器发送的HTTP请求做更多超越于默认设置的定制化。 client : http.Client{} 使用net/http包提供的导出类型Client&#xff0c;创建一个表示客户端的变量。request, err : http.NewRequest("GET", "https://ifconfig.io/ip&quo…

OpenCV图像算术位运算

一 图像相加 import cv2 import numpy as npgirlcv2.imread(./2037548.jpg)#图像的加法运算就是矩阵的加法运算 #因此加法运算的两张图必须是相等的print(girl.shape)imgnp.ones((1920,1080,3),np.uint8)*50 cv2.imshow(girl,girl) resultcv2.add(girl,img) cv2.imshow(result…

QQ 邮箱绑定校园邮箱失败但 Coremail 论客绑定成功

目录 1 查看本校学生邮件系统官网 2 QQ 邮箱绑定失败 3 Coremail 论客绑定成功 前言&#xff1a;个人觉得每次查看校园邮箱都要打开电脑很不方便&#xff0c;遂决定绑定到 QQ 邮箱 APP 上。 1 查看本校学生邮件系统官网 仅针对我们学校&#xff0c;登录页面给出了邮件服…

【软件基础】Linq优化双重for循环、批量写入Excel以提升程序运行速度、常见代码优化方法

文章目录 前言一、使用Linq优化双重for循环二、使用Office插件批量写入Excel三、常见代码优化方法1、字符串拼接2、使用 LINQ 查询3、频繁访问数据库4、频繁使用大对象图5、未使用索引进行查找6、频繁的装箱和拆箱操作7、使用递归导致堆栈溢出8、频繁的文件I/O操作9、未使用并行…

Python 学习 第二册 对第一册的一些补充

-----用教授的方法学习 1.一些常见函数 函 数 描 述 abs(number) 返回指定数的绝对值 bytes(string, encoding[, errors]) 对指定的字符串进行编码&#xff0c;并以指定的方式处理错误 cmath.sqrt(number) 返回平方根&#xff1b;可用于负数 float(object) 将字符…

k8s-kubernetes常用命令,服务部署,可视化控制台安装及token的生成

上一篇文章介绍了怎么安装kubernetes,现在我们来学习下kubernetes的常用命令 我们直接通过部署可视化控制台kubernetes-dashboard来顺便学习下kubernetes的常用命令及服务的部署 kubernetes dashboard部署 执行下面的命令下载及安装 kubernetes dashboard kubectl apply -f…