美文网首页
Nginx负载均衡(centos7)

Nginx负载均衡(centos7)

作者: 00天火00 | 来源:发表于2017-03-24 19:53 被阅读0次

我的博客:https://blog.thuol.com

说明

亲测原稿。技术来源于网络

负载至少需要三台以上服务器(或者三个以上访问端口,如果一台机器上开三个不同的端口,访问压力还是在一台服务器上达不到负载的目的,测试可以开三个端口。)

使用三台centos7机器,每台都装上nginx
192.168.198.229(前置负载)
192.168.198.221(web1)
192.168.198.222(web2)
将域名(www.fz.com)指向前置机(192.168.198.229)

web机器不一定要装nginx也可以使用其他服务器软件,如Apache,Node.js等。

Nginx负载配置

nginx负载实现主要在前置负载机中配置反向代理到其他机器。

  1. 每台服务器可以单独访问,并修改主页显示内容为改机器ip尾号(为了方便测试)
    前置机负载机:229

    将域名www.fz.com指向192.168.198.229机器并可以使用域名访问

    web1:221

    web2:222
  2. 修改前置机conf
    在http内加入以下代码(大致36行)
upstream www.fz.com{ 
      server  192.168.198.221; 
      server  192.168.198.222; 
    } 
      
    server{ 
        listen 80; 
        server_name www.fz.com; 
        location / { 
            proxy_pass         http://www.fz.com; 
            proxy_set_header   Host             $host; 
            proxy_set_header   X-Real-IP        $remote_addr; 
            proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for; 
        } 
    }

重启nginx

/www/lnmp/nginx/sbin/nginx -s reload         #重新载入配置文件
/www/lnmp/nginx/sbin/nginx -s reopen         #重新启动nginx

访问http://www.fz.com


刷新页面

这个时候发现已经实现了负载。其实要布置多个项目到web机上还需要配置web机上的conf
  1. 负载比重
1、轮询(默认)
每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。
2、weight
指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。
例如:
upstream www.fz.com{ 
      server  192.168.198.221 weight=1;     #访问比例为1/6
      server  192.168.198.222 weight=5;     #访问比例为5/6
} 
3、ip_hash
每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。
例如:
upstream www.fz.com{
      ip_hash;
      server  192.168.198.221; 
      server  192.168.198.222; 
} 

1.down 表示单前的server暂时不参与负载
2.weight 默认为1.weight越大,负载的权重就越大。
3.max_fails :允许请求失败的次数默认为1.当超过最大次数时,返回proxy_next_upstream 模块定义的错误
4.fail_timeout:max_fails次失败后,暂停的时间。
5.backup: 其它所有的非backup机器down或者忙的时候,请求backup机器。所以这台机器压力会最轻。
nginx支持同时设置多组的负载均衡,用来给不用的server来使用
client_body_in_file_only 设置为On 可以讲client post过来的数据记录到文件中用来做debug
client_body_temp_path 设置记录文件的目录 可以设置最多3层目录
location 对URL进行匹配.可以进行重定向或者进行新的代理 负载均衡

相关文章

网友评论

      本文标题:Nginx负载均衡(centos7)

      本文链接:https://www.haomeiwen.com/subject/ccnuwttx.html