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负载策略
- 默认轮询 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)>>;
}
评论区