• nginx stream 流转发,可以转发rtmp、mysql访问流,转发rtmp、jdbc请求


    wegt https://github.com/arut/nginx-rtmp-module/archive/master.zip
    
    下载之后解压 unzip master.zip
    
    安装nginx
    
    wget http://nginx.org/download/nginx-1.8.1.tar.gz
    tar -zxvf nginx-1.8.1.tar.gz
    cd nginx-1.8.1
    
    ./configure --prefix=/usr/local/nginx --add-module=../nginx-rtmp-module --with-http_ssl_module
    make && make install
    

      

    平滑安装stream,不覆盖原来的nginx配置文件

    此处nginx源码目录为:/usr/local/src/nginx-1.8.1,即为编译命令执行目录。

     
    编译命令如下:
    ./configure --prefix=/usr/local/nginx --add-module=../nginx-rtmp-module --with-http_ssl_module --with-stream
    此处之用make在当前目录下编译,不要make install不然会覆盖之前的安装
    make
    关闭nginx服务
    cd /usr/local/nginx
    ./sbin/nginx -s stop
    备份原有nginx二进制文件。
    cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx-no-strem
     
    复制新编译好的nginx二进制文件。从此处nginx源码目录为:/usr/local/nginx-1.8.1。即为编译命令执行目录。
    cp ./objs/nginx /usr/local/nginx/sbin/nginx
    启动测试
    ./sbin/nginx
    stream{
      server{
         listen 8088;
         proxy_pass 127.0.0.1:9935; #推流服务
      }
      server{
         listen 8081;
         proxy_pass 127.0.0.1:3306; #数据库
      }
    
    }
    

    stream模块和http模块同级

    如果不成功,检测网络和端口是否通。

    代理完毕。

    stream官方例子

    stream段的配置要与http段在同级目录。此处引用的为官方nginx说明配置。
    stream { upstream backend { hash $remote_addr consistent; server backend1.example.com:12345 weight=5; server 127.0.0.1:12345 max_fails=3 fail_timeout=30s; server unix:/tmp/backend3; } upstream dns { server 192.168.0.1:53535; server dns.example.com:53; } server { listen 12345; proxy_connect_timeout 1s; proxy_timeout 3s; proxy_pass backend; } server { listen 127.0.0.1:53 udp reuseport; proxy_timeout 20s; proxy_pass dns; } server { listen [::1]:12345; proxy_pass unix:/tmp/stream.socket; } }

      

     

      

  • 相关阅读:
    EdgexGo2.0学习22 EdgeX 物模型key含义
    Linux c 开发20 libmodbus增加支持rtu over tcp
    The ObjectManager found an invalid number of fixups. This usually indicates
    一例invalid conversion from ‘int’ to ‘modbus_error_recovery_mode’
    Linux c 开发23 make文件
    error trying to exec 'cc1': execvp: No such file or directory
    github最新提交代码方法
    查看容器占用磁盘大小
    Ubuntu18.04 ARM环境1 安装mosquitto
    Linux c 开发18 Linux C 开发中要注意声明函数
  • 原文地址:https://www.cnblogs.com/lalalazar/p/15704765.html
Copyright © 2020-2023  润新知