发布时间:2022-08-18 18:14
Nginx要实现七层负载均衡需要用到proxy_pass代理模块配置。Nginx默认安装支持这个模块,我们不需要再做任何处理。Nginx的负载均衡是在Nginx的反向代理基础上把用户的请求根据指定的算法分发到一组【upstream虚拟服务池】。
Nginx七层负载均衡的指令
upstream指令
该指令是用来定义一组服务器,它们可以是监听不同端口的服务器,并且也可以是同时监听TCP和Unix socket的服务器。服务器可以指定不同的权重,默认为1。
语法 | upstream name {...} |
---|---|
默认值 | — |
位置 | http |
server指令
该指令用来指定后端服务器的名称和一些参数,可以使用域名、IP、端口或者unix socket
语法 | server name [paramerters] |
---|---|
默认值 | — |
位置 | upstream |
Nginx七层负载均衡的实现流程
服务端设置
server {
listen 9001;
server_name localhost;
default_type text/html;
location /{
return 200 '192.168.200.146:9001
';
}
}
server {
listen 9002;
server_name localhost;
default_type text/html;
location /{
return 200 '192.168.200.146:9002
';
}
}
server {
listen 9003;
server_name localhost;
default_type text/html;
location /{
return 200 '192.168.200.146:9003
';
}
}
负载均衡器设置
upstream backend{
server 192.168.200.146:9091;
server 192.168.200.146:9092;
server 192.168.200.146:9093;
}
server {
listen 8083;
server_name localhost;
location /{
proxy_pass http://backend;
}
}