nginx1.14.0版本负载均衡upstream配置
第一步:server配置,指向负载均衡upstream1
server { listen 80; server_name www.xxx.com; location / { proxy_pass http://upstream1 使用哪个负载均衡 proxy_set_header Host $Host; 返回到服务端真实主机名 proxy_set_header X-Real_IP $remote_addr; 返回到服务端真实IP } }
注意,upstream配置应该在server配置之前,但是都在http里面。
第二步:配置upstream1 这个负载均衡,就是server的指向
upstream upstream1 { server 192.168.10.130:8080; server 192.168.10.140:8080; #server 192.168.10.150:8080 weight=1 max_fails=3 fail_timeout=5000 backup down; weight权重越高请求优先分配,5秒内如果有3次失败则认为此主机宕机 fair; 根据服务器的响应时间来分配请求 #ip_hash; IP hash算法后,来自于相同IP的请求会被转发到上一次该IP请求的同一个应用主机上,可以做session保持的简单做法。 #url_hash; 同一个url(也就是同一个资源请求)会到达同一台机器 }
weight=1 weight权重越高请求优先分配
max_fails=3 fail_timeout=5000 5秒内失败3次则认为此主机宕机
backup 此主机作为热备
down 主动宕机,此主机不参与负载均衡
第三步:nginx.conf最后配好的样子:
![](https://img2023.cnblogs.com/blog/1097754/202302/1097754-20230205204327689-1549054123.png)
贴上nginx.conf配置代码:
http {
include mime.types;
default_type application/octet-stream;
#access_log logs/access.log main;
sendfile on;
keepalive_timeout 65;
server {
listen 81;
server_name localhost;
location / {
proxy_pass http://upstream1;
}
error_page 500 502 503 504 /50x.html;
}
upstream upstream1 {
server 127.0.0.1:8081;
server 127.0.0.1:8082;
}
}
![](https://images.cnblogs.com/cnblogs_com/zhuwenjoyce/945554/o_201113020411my-zhifubao-shouqianma.jpeg)