侧边栏壁纸
博主头像
会飞的大象博主等级

爱运动的程序猿

  • 累计撰写 126 篇文章
  • 累计创建 158 个标签
  • 累计收到 0 条评论
标签搜索

目 录CONTENT

文章目录

nginx代理socket

会飞的大象
2021-09-24 / 0 评论 / 0 点赞 / 1,014 阅读 / 0 字

nginx配置

stream {
    upstream socketGm{
        hash $remote_addr consistent;
        server 192.168.0.74:30194 weight=5 max_fails=3 fail_timeout=30s;
        #server 192.168.0.74:30194;    
    }
    
    upstream socketSocsp{
        hash $remote_addr consistent;
        server 192.168.0.74:30193 weight=5 max_fails=3 fail_timeout=30s;
        #server 192.168.0.74:30193;    
    }

    server{
        listen 6781;
        proxy_connect_timeout 1s; 
        proxy_timeout 3s;
        proxy_pass socketGm;
    }

    server{
        listen 6780;
        proxy_connect_timeout 1s;
        proxy_timeout 3s;
        proxy_pass socketSocsp;
    }
}

使用upstream 需要配置

./configure --with-stream
make & make install

遇到问题

1.用nginx做tcp代理,客户端shutdownoutput,导致无法接收消息?

用nginx的stream模块做tcp代理, 发现客户端只要调socket.shutdownoutput后,nginx会关闭连接终止代理。 客户端删掉socket.shutdownoutput()后nginx可以正常转发。

nginx负载策略

  1. 默认轮询 least_conn 最少连接 ip_hash建立连接服务器处理 权重 weight=2
    upstream sampleapp {
    least_conn;
    server <<dns entry or IP Address(optional with port)>>;
    server <<another dns entry or IP Address(optional with port)>>;
    }
0

评论区