• nginx -stream(tcp连接)反向代理配置 实现代理mysql以及文件上传


    原文链接:https://blog.csdn.net/Activity_Time/article/details/95767390

    1. stream模块安装

    nginx默认安装的时候无法加载流stream模块,需要在启动参数里加上–with-stream。

    解决方法:
    重新对源文件进行编译、安装,通过添加–with-stream参数指定安装stream模块。
    nginx安装教程

    [root@localhost nginx-1.12.2]# ./configure --with-stream
    [root@localhost nginx-1.12.2]# make & make install
    

    configure命令设定安装参数

    # 常用模块配置
    ./configure 
    --prefix=/usr/local/nginx 
    --pid-path=/var/run/nginx/nginx.pid 
    --lock-path=/var/lock/nginx.lock 
    --error-log-path=/var/log/nginx/error.log 
    --http-log-path=/var/log/nginx/access.log 
    --with-http_gzip_static_module 
    --http-client-body-temp-path=/var/temp/nginx/client 
    --http-proxy-temp-path=/var/temp/nginx/proxy 
    --http-fastcgi-temp-path=/var/temp/nginx/fastcgi 
    --http-uwsgi-temp-path=/var/temp/nginx/uwsgi 
    --http-scgi-temp-path=/var/temp/nginx/scgi 
    --with-stream  
    --with-http_ssl_module
    

    2.配置文件 nginx.conf

    stream模块位于与http模块相同的层次
    示例:

    stream {
        upstream backend {
            server 202.118.163.18:3306;
        }
     
        upstream landm {
            server 202.118.163.18:8092;
        }
     
        upstream nginxCon {
            server 202.118.166.247:22;
        }
     
        upstream stu.neau.actim.top {
            server 202.118.163.18:80;
            server 202.118.167.86:9004;
            server 202.118.167.86:9003;
            server 202.118.167.86:9002;
            server 202.118.167.86:9001;
         }
     
        server {
            listen 8088;
            proxy_connect_timeout 8s;
            proxy_timeout 24h;   #¿¿¿¿
            proxy_pass backend;
        }
     
        server {
            listen 8082;
            proxy_connect_timeout 8s;
            proxy_timeout 24h;   #¿¿¿¿
            proxy_pass landm;
        }
     
        server {
            listen 8686;
            proxy_connect_timeout 8s;
            proxy_timeout 24h;   #¿¿¿¿
            proxy_pass nginxCon;
        }
     
        server {
            listen 8093;
            proxy_connect_timeout 8s;
            proxy_timeout 24h;   #¿¿¿¿
            proxy_pass stu.neau.actim.top;
        }
    }
    

    3. 代理mysql、文件下载等tcp连接

    stream在使用上与http相近,只需配置upstream然后再配置server即可,参考上面的配置,
    代理mysql只需用反向代理服务器的一个端口去代理数据库服务器(集群)的端口即可,文件下载亦然


    参考文章:
    Nginx1.14.2新增tcp/udp代理stream(详细)

    nginx代理tcp协议连接mysql

    ssl模块安装(https)
    Nginx反向代理+负载均衡简单实现(https方式)
    https://blog.csdn.net/Activity_Time/article/details/95770900

  • 相关阅读:
    Serverless 动态博客开发趟“坑”记
    tsv与csv文件
    zypper
    source、sh、./三种执行方式对脚本变量的影响
    linux nm
    ldconfig
    cpio
    License简介
    rpm之spec文件
    使用rpmbuild制作rpm包
  • 原文地址:https://www.cnblogs.com/ACTIM/p/11230148.html
Copyright © 2020-2023  润新知