2019-07-04 14:10:03 1594浏览
今天千锋扣丁学堂Linux培训老师给大家分享一篇关于Nginx负载均衡之TCP/UDP流的详细介绍,首先负载均衡是指在多个后端服务器之间有效地分配网络流量,下面我们一起来看一下吧。
./configure --prefix=/usr/local/nginx --with-stream
Syntax: stream { ... }
Default: —
Context: main
Syntax: server { ... }
Default: —
Context: stream
Syntax: listen address:port [ssl] [udp] [proxy_protocol] [backlog=number] [rcvbuf=size] [sndbuf=size] [bind] [ipv6only=on|off] [reuseport] [so_keepalive=on|off|[keepidle]:[keepintvl]:[keepcnt]]; Default: — Context: server
listen 127.0.0.1:12345; listen *:12345; listen 12345; # same as *:12345 listen localhost:12345;
listen 12345 udp;
Syntax: proxy_pass address; Default: — Context: server
proxy_pass localhost:12345;
proxy_pass unix:/tmp/stream.socket;
Syntax: proxy_bind address [transparent] | off; Default: — Context: stream, server #此指令在1.9.2版本中开始使用。
proxy_bind $remote_addr transparent;
stream {
# ...
server {
listen 127.0.0.1:12345;
proxy_pass backend.example.com:12345;
proxy_buffer_size 16k;
#proxy_bind 127.0.0.1:12345;
}
}
Syntax: upstream name { ... }
Default: —
Context: stream
stream {
upstream stream_backend {
server backend1.example.com:12345;
server backend2.example.com:12345;
server backend3.example.com:12346;
}
upstream dns_servers {
server 192.168.136.130:53;
server 192.168.136.131:53;
}
}
Syntax: least_conn; Default: — Context: upstream
A.connect-连接upstream服务器的时间Syntax: least_time connect | first_byte | last_byte [inflight]; Default: — Context: upstream
Syntax: hash key [consistent]; Default: — Context: upstream
hash $remote_addr consistent;
stream {
upstream stream_backend {
hash $remote_addr consistent;
server backend1.example.com:12345 weight=5;
server backend2.example.com:12345;
server backend3.example.com:12346 max_conns=3;
}
upstream dns_servers {
least_conn;
server 192.168.136.130:53;
server 192.168.136.131:53;
}
}
stream {
upstream stream_backend {
hash $remote_addr consistent;
server backend1.example.com:12345 weight=5;
server backend2.example.com:12345;
server backend3.example.com:12346 max_conns=3;
}
upstream dns_servers {
least_conn;
server 192.168.136.130:53;
server 192.168.136.131:53;
}
server {
listen 12345;
proxy_pass stream_backend;
proxy_buffer_size 16k;
#proxy_bind 127.0.0.1:12345;
}
server {
listen 53 udp;
proxy_pass dns_servers;
proxy_buffer_size 16k;
}
}
【关注微信公众号获取更多学习资料】 【扫码进入HTML5前端开发VIP免费公开课】