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-stream
make
make 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服务,其他很多服务都可以做到负载均衡。
,