4 层转发、代理、负载均衡
nginx在1.9.0的时候,增加了一个 stream 模块,用来实现四层协议(网络层和传输层)的转发、代理、负载均衡等。
添加模块
nginx默认是没有编译这个模块的,要使用stream模块,编译的时候记得加上–with-stream这个参数即可。
./configure --prefix=/usr/local/nginx --user=www --group=www --with-http_ssl_module --with-http_v2_module --with-http_gzip_static_module --with-http_stub_status_module --with-streammakemake install
配置
在 http 配置段外面,设置stream配置,默认是tcp,如果需要转发udp就需要带上udp的标记。
stream { upstream tcp_server { server 192.168.1.10:8888; server 192.168.1.11:8888; } upstream udp_server{ server 192.168.1.10:8877; server 192.168.1.11:8877; } server { listen 10133; proxy_pass tcp_server; } server { listen 10123 udp; proxy_pass udp_server; }}
总结
有了stream功能,不止http服务,其他很多服务都可以做到负载均衡。