时间:2022-02-17 09:29:41 | 栏目:Nginx | 点击:次
使用nginx来配置负载均衡也是比较简单的
首先在http块中配置虚拟域名所对应的地址
# 负载均衡 upstream myserver { server 127.0.0.1:8080; server 127.0.0.1:8082; }
然后在server块中配置监听
server { listen 9000; server_name localhost; location / { root html; index index.html index.htm; # 对应上述upstream所配置的名称 proxy_pass http://myserver; ### 下面都是次要关注项 proxy_set_header Host $host; proxy_method POST; # 指定不转发的头部字段 proxy_hide_header Cache-Control; # 指定转发的头部字段 proxy_pass_header Server-IP; # 是否转发包体 proxy_pass_request_body on | off; # 是否转发头部 proxy_pass_request_headers on | off; # 显形/隐形 URI,上游发生重定向时,Nginx 是否同步更改 uri proxy_redirect on | off; } }
这样在使用9000端口访问服务器的时候就会进行8080和8082的负载调用
按照时间顺序逐一的分配到不同的服务器,如果后端服务器挂掉,会自动删除
weight代表权重,默认为1,权重越大分配的请求越多
# 负载均衡 upstream myserver { server 127.0.0.1:8080 weight=1; server 127.0.0.1:8082 weight=2; }
每个请求按照访问的ip进行hash分配,使得每个访问者固定访问某一个服务器,可以解决session问题
# 负载均衡 upstream myserver { ip_hash; server 127.0.0.1:8080; server 127.0.0.1:8082; }
根据请求的响应时间来分配,哪个服务器响应的快分配给谁