热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

nginx反向代理TCP,取RTMP流

:本篇文章主要介绍了nginx反向代理TCP,取RTMP流,对于PHP教程有兴趣的同学可以参考一下。
nginx反向代理TCP,取RTMP流

一、说明
nginx默认只支持HTTP反向代理,如果需要支持TCP反向代理需添加tcp代理模块:nginx_tcp_proxy_module。

二、原料
1.nginx_tcp_proxy_module
下载地址:
wget https://github.com/yaoweibin/nginx_tcp_proxy_module/archive/master.zip

2.nginx源码
http://nginx.org/download/nginx-1.6.3.tar.gz

三、步骤
1.解压nginx

2.解压nginx_tcp_proxy_module
解压至/nginx-1.6.3/src/nginx_tcp_proxy_module

3.patch

cd /usr/wkdir/nginx-1.6.3patch -p1 patch

4.编译&安装

./configure --add-module=src/nginx_tcp_proxy_module-master

如果报错缺少库,则安装相应库,如openssl

ubuntu下解决办法:

apt-get install openssl

apt-get install libssl-devcentos下解决办法:

yum -y install openssl openssl-devel

继续编译安装

makemake install

5.修改配置文件
在nginx.conf中添加,模块指令是TCP,它是不属于HTTP框架内的,所以和HTTP{}同级别

tcp {
    upstream proxy_name {
        # simple round-robinserver localhost:1935;#需要代理的端口#check interval=3000 rise=2 fall=5timeout=1000;#check interval=3000 rise=2 fall=5timeout=1000#check interval=3000 rise=2 fall=5timeout=1000#check_http_send "GET /HTTP/1.0\r\n\r\n";#check_http_expect_alive http_2xxhttp_3xx;
    }

    server {
        listen 8888; #代理8888端口        proxy_pass proxy_name;
    }
}

6.测试
启动nginx

./usr/local/nginx/sbin/nginx

启动srs

./usr/local/srs/objs/srs -c conf/srs.conf

使用ffmpeg推rtmp流到srs服务器(端口1935),然后通过vlc或者其他方式到代理端口8888获取rtmp流.

自测试成功!

').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i <= lines; i++) { $numbering.append($('
  • ').text(i)); }; $numbering.fadeIn(1700); }); });

    以上就介绍了nginx反向代理TCP,取RTMP流,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

  • 推荐阅读
    • 基于KVM的SRIOV直通配置及性能测试
      SRIOV介绍、VF直通配置,以及包转发率性能测试小慢哥的原创文章,欢迎转载目录?1.SRIOV介绍?2.环境说明?3.开启SRIOV?4.生成VF?5.VF ... [详细]
    • 本文详细记录了在基于Debian的Deepin 20操作系统上安装MySQL 5.7的具体步骤,包括软件包的选择、依赖项的处理及远程访问权限的配置。 ... [详细]
    • PHP 5.2.5 安装与配置指南
      本文详细介绍了 PHP 5.2.5 的安装和配置步骤,帮助开发者解决常见的环境配置问题,特别是上传图片时遇到的错误。通过本教程,您可以顺利搭建并优化 PHP 运行环境。 ... [详细]
    • 构建基于BERT的中文NL2SQL模型:一个简明的基准
      本文探讨了将自然语言转换为SQL语句(NL2SQL)的任务,这是人工智能领域中一项非常实用的研究方向。文章介绍了笔者在公司举办的首届中文NL2SQL挑战赛中的实践,该比赛提供了金融和通用领域的表格数据,并标注了对应的自然语言与SQL语句对,旨在训练准确的NL2SQL模型。 ... [详细]
    • 在Ubuntu 16.04 LTS上配置Qt Creator开发环境
      本文详细介绍了如何在Ubuntu 16.04 LTS系统中安装和配置Qt Creator,涵盖了从下载到安装的全过程,并提供了常见问题的解决方案。 ... [详细]
    • UNP 第9章:主机名与地址转换
      本章探讨了用于在主机名和数值地址之间进行转换的函数,如gethostbyname和gethostbyaddr。此外,还介绍了getservbyname和getservbyport函数,用于在服务器名和端口号之间进行转换。 ... [详细]
    • 在现代网络环境中,两台计算机之间的文件传输需求日益增长。传统的FTP和SSH方式虽然有效,但其配置复杂、步骤繁琐,难以满足快速且安全的传输需求。本文将介绍一种基于Go语言开发的新一代文件传输工具——Croc,它不仅简化了操作流程,还提供了强大的加密和跨平台支持。 ... [详细]
    • 解决微信电脑版无法刷朋友圈问题:使用安卓远程投屏方案
      在工作期间想要浏览微信和朋友圈却不太方便?虽然微信电脑版目前不支持直接刷朋友圈,但通过远程投屏技术,可以轻松实现在电脑上操作安卓设备的功能。 ... [详细]
    • 网络运维工程师负责确保企业IT基础设施的稳定运行,保障业务连续性和数据安全。他们需要具备多种技能,包括搭建和维护网络环境、监控系统性能、处理突发事件等。本文将探讨网络运维工程师的职业前景及其平均薪酬水平。 ... [详细]
    • 使用Python在SAE上开发新浪微博应用的初步探索
      最近重新审视了新浪云平台(SAE)提供的服务,发现其已支持Python开发。本文将详细介绍如何利用Django框架构建一个简单的新浪微博应用,并分享开发过程中的关键步骤。 ... [详细]
    • 从零开始构建完整手机站:Vue CLI 3 实战指南(第一部分)
      本系列教程将引导您使用 Vue CLI 3 构建一个功能齐全的移动应用。我们将深入探讨项目中涉及的每一个知识点,并确保这些内容与实际工作中的需求紧密结合。 ... [详细]
    • 深入探讨CPU虚拟化与KVM内存管理
      本文详细介绍了现代服务器架构中的CPU虚拟化技术,包括SMP、NUMA和MPP三种多处理器结构,并深入探讨了KVM的内存虚拟化机制。通过对比不同架构的特点和应用场景,帮助读者理解如何选择最适合的架构以优化性能。 ... [详细]
    • 深入解析 Spring Security 用户认证机制
      本文将详细介绍 Spring Security 中用户登录认证的核心流程,重点分析 AbstractAuthenticationProcessingFilter 和 AuthenticationManager 的工作原理。通过理解这些组件的实现,读者可以更好地掌握 Spring Security 的认证机制。 ... [详细]
    • 本文详细介绍了如何在 Spring Boot 应用中通过 @PropertySource 注解读取非默认配置文件,包括配置文件的创建、映射类的设计以及确保 Spring 容器能够正确加载这些配置的方法。 ... [详细]
    • 本文详细介绍了美国最具影响力的十大财团,包括洛克菲勒、摩根、花旗银行等。这些财团在历史发展过程中逐渐形成,并对美国的经济、政治和社会产生深远影响。 ... [详细]
    author-avatar
    你就夜沉思
    这个家伙很懒,什么也没留下!
    PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
    Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有