Nginx详细配置之负载均衡

一、简介负载均衡

一般比较大的网站,流量比较大时容易造成服务器宕机,这时候就需要负载均衡来优化。Nginx就是web服务器最常用的负载均衡服务器

二、Nginx负载均衡常用算法

1、轮询(nginx默认的算法)

 每个请求按时间顺序逐一分配到不同的应用服务器,如果应用服务器down掉,自动剔除,剩下的继续轮询。 注意此算法不理会后端服务器的实际压力。

Nginx配置示例

http {
    include       mime.types;
    default_type  application/octet-stream;
	#是在http里面的, 已有http, 不是在server里,在server外面
     upstream tomcats { #在http这个节下面配置一个叫upstream的,后面的名字可以随意取,但是要和location下的proxy_pass http://后的保持一致。
        server 192.168.126.101:81; ##指定后端服务器IP地址或域名
        server 192.168.126.102;
        server 192.168.126.103:81;
     }




    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;

    server {
        listen       80;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
           proxy_pass http://tomcats; #要与upstream保持一致

        }
2、权重算法

在轮询的算法中upstream中设置的地址或域名后面可以再设置weight(权重)参数,weight值与访问值成正比。可以将性能好的服务器weight设置大一点

示例:

 upstream tomcats {
        server 192.168.126.101:81 weight=2;
        server 192.168.126.102 weigth=4;
        server 192.168.126.103:81 weigth=1;
     }

3、IP哈希算法(不推荐,如果想共享session建议用缓存数据库,如:redis)

每个请求按访问ip的hash结果分配,这样每个访客都固定访问一个应用服务器除非该服务器不可用,可以解决session共享的问题。 

示例

 upstream tomcats {
        ip_hash;
        server 192.168.126.101:81;
        server 192.168.126.102;
        server 192.168.126.103:81;
     }

三、nginx的负载均衡参数说明

server 负载均衡后端服务的IP或者域名,端口不写的话默认为80。高并发场景用域名,再通过DNS进行负载均衡
 weight 权重,默认为1,权重越大接收的请求越多
 max_fails 最大尝试的失败次数,默认为1,0表示禁止失败尝试
 fail_timeout 失败超时时间,默认是10秒,通常3s左右比较合适
 backup 热备配置,前面所有服务都出现问题后会自动上线backup服务器
 down 标志服务器不可用,这个参数通常配合IP_HASH使用












  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值