简介
nginx应用场景之一就是负载均衡。在访问量较多的时候,可以通过负载均衡,将多个请求分摊到多台服务器上,相当于把一台服务器需要承担的负载量交给多台服务器处理,进而提高系统的吞吐率;另外如果其中某一台服务器挂掉,其他服务器还可以正常提供服务,以此来提高系统的可伸缩性与可靠性。
一、官网下载
Nginx官网
下载解压后:
二、配置负载均衡
1.轮询(默认)
代码如下(示例):
代码语言:javascript复制http {
# 转发规则
upstream myapp1 {
server 127.0.0.1:8080;
server 127.0.0.1:8081;
}
server {
listen 80;
location / {
# 转发到myapp1
proxy_pass http://myapp1;
}
}
}
2.权重轮询
代码语言:javascript复制http {
# 转发规则
upstream myapp1 {
# 请求量分配公式:当前weight/所有weight之和
# 接受1/6的请求量
server 127.0.0.1:8080 weight=1;
# 接受2/6的请求量
server 127.0.0.1:8081 weight=2;
# 接受3/6的请求量
server 127.0.0.1:8081 weight=3;
}
server {
listen 80;
location / {
# 转发到myapp1
proxy_pass http://myapp1;
}
}
}
3.最少连接
代码语言:javascript复制http {
# 转发规则
upstream myapp1 {
# 大道至简的配置
least_conn;
server 127.0.0.1:8080;
server 127.0.0.1:8081;
server 127.0.0.1:8082;
}
server {
listen 80;
location / {
# 转发到myapp1
proxy_pass http://myapp1;
}
}
}
4.ip hash
代码语言:javascript复制http {
# 转发规则
upstream myapp1 {
# 大道至简的配置
ip_hash;
server 127.0.0.1:8080;
server 127.0.0.1:8081;
server 127.0.0.1:8082;
}
server {
listen 80;
location / {
# 转发到myapp1
proxy_pass http://myapp1;
}
}
}
三、启动nginx
用cmd执行:start nginx