个人博客
Nginx
对tcp
协议的代理是通过ngx_stream_core_module
这个模块实现的,此模块要1.9.0
版本后才有,而且默认是不启用的。安装时应使用配置参数--with-stream
启用。
1 2
| ./configure --prefix=/usr/local/nginx --with-stream make && make install
|
然后通过./nginx -V
查看有没有--with-stream
参数。
1、tcp负载均衡配置
修改nginx/conf/nginx.conf
文件,新增stream {...}
配置块,和http{...}
配置块是同级关系。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| stream { upstream socketServer{ server 172.16.122.104:21221; server 172.16.122.105:21221; server 172.16.122.106:21221; }
log_format proxy '$remote_addr [$time_local] ' '$protocol $status $bytes_sent $bytes_received ' '$session_time "$upstream_addr" ' '"$upstream_bytes_sent" "$upstream_bytes_received" "$upstream_connect_time"';
server { listen 21220;
access_log /usr/local/nginx/logs/tcp_access.log proxy; error_log /usr/local/nginx/logs/tcp_error.log;
proxy_connect_timeout 5s; proxy_timeout 30s; proxy_pass socketServer; } }
|
Nginx
本地监听21220
端口,然后转发到upstream
中配置的后台服务器地址,默认是轮询策略。
参考链接