nginx负载均衡配置
Posted yuuje
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nginx负载均衡配置相关的知识,希望对你有一定的参考价值。
nginx负载均衡配置
进入/etc/nginx目录,编辑nginx.conf文件;
#这里的域名要和下面proxy_pass的一样 upstream test.com server 192.168.1.10:8989 weight=1; server 192.168.1.10:8988 weight=2; server listen 80; server_name 192.168.1.10; location / proxy_pass http://test.com; proxy_redirect default; error_page 500 502 503 504 /50x.html; location = /50x.html root html;
负载均衡策略
1、轮询
这种是默认的策略,把每个请求按顺序逐一分配到不同的server,如果server挂掉,能自动剔除。
upstream test.com server 192.168.1.10:8989 ; server 192.168.1.10:8988 ;
2、最少连接
把请求分配到连接数最少的server
upstream test.com least_conn; server 192.168.1.10:8989 ; server 192.168.1.10:8988 ;
3、权重
使用weight来指定server访问比率,weight默认是1。以下配置会是server2访问的比例是server1的两倍。
upstream test.com server 192.168.1.10:8989 weight=1; server 192.168.1.10:8988 weight=2;
4、ip_hash
每个请求会按照访问ip的hash值分配,这样同一客户端连续的Web请求都会被分发到同一server进行处理,可以解决session的问题。如果server挂掉,能自动剔除。
upstream test.com ip_hash; server 192.168.1.10:8989 weight=1; server 192.168.1.10:8988 weight=2;
ip_hash可以和weight结合使用。
--------------------------------------------------------------------------------------------------------------------------------
upstream模块主要负责负载均衡的配置,通过默认的轮询调度方式来分发请求到后端服务器
简单的配置方式如下
upstream name ip_hash; server 192.168.1.10:8000; server 192.168.1.10:8001 down; server 192.168.1.10:8002 max_fails=3; server 192.168.1.10:8003 fail_timeout=20s; server 192.168.1.10:8004 max_fails=3 fail_timeout=20s;
核心配置信息如下
ip_hash:指定请求调度算法,默认是weight权重轮询调度,可以指定
server host:port:分发服务器的列表配置
-- down:表示该主机暂停服务
-- max_fails:表示失败最大次数,超过失败最大次数暂停服务
-- fail_timeout:表示如果请求受理失败,暂停指定的时间之后重新发起请求
以上是关于nginx负载均衡配置的主要内容,如果未能解决你的问题,请参考以下文章