Nginx配置upstream实现负载均衡

Nginx负载均衡配置表明

  WEB服务做负载均衡的章程有比很多种,但运用Nginx做负载均衡配置一定是可怜迅猛也是极流行的一种。

  本人民代表大会多数做.NET开辟,但配备负载却一贯用Nginx,对其他的负荷情势斟酌相当少,只测量检验过二回利用Server
Farm做负载布置,未有在事实上项目中实战,方今见同事使用Server
Farm做负载配置,但对其品质等不甚明白,望知之者留言商量。

  废话少说,请看步骤:

1、Nginx服务安装配备

  请看上文《Nginx服务介绍》

2、配置文件编写制定

  在Nginx安装目录下下展开Vhost目录(该目录已经在Nginx.conf中被含有,若是只是对准某站点的有些目录负载,能够将包蕴路线修改一下就可以),新建负载配置文件testfz.conf,内容如下:

upstream backend
{
  server 192.168.1.106:8001  weight=1;
  server 192.168.1.107:8001  weight=2;
  #ip_hash;
}

server
{
    listen      80;
    server_name  www.test.com;
    location ~ ^/*
    {
      proxy_set_header Host $host;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Forwarded-For
$proxy_add_x_forwarded_for;
      proxy_buffering off;
      proxy_pass ;   
    }
}

3、测试

./nginx –t
归来如下新闻表示参数配置不错
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is
ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is
successful

4、重新加载配置文件

/etc/init.d/nginx reload

即使重启报PID错误,在安装路线下-C重新加载一下配置文件就可以。

5、关于Nginx配置的参数表明

  a、轮询
每个诉求依照Nginx配置文件中的顺序,依次分发到不一致的后端服务器,服务器要是down掉会自动识别并剔除;
  b、weight
Nginx依照weight配置把供给愈来愈多地分发到高配置的后端服务器上,把相对相当少的乞求分发到低配服务器。
  c、ip_hash
各个诉求按访谈ip的hash结果分配,保险连接到一定的载重服务器上,这种办法能够消除session难点;
  d、最少连接
可以将Web诉求会被转载到连接数最少的服务器上。只要加least_conn节就可以。

  另外那每种负载服务器上还足以做如下的布局:
  a、down : 当前的服务器近年来不参预负载;
  b、max_fails:
允许央求战败的次数默以为1,当高出最大次数时,再次回到proxy_next_upstream模块定义的错误;
  c、fail_timeout : max_fails次倒闭后,暂停的年月;
  d、backup:
别的具有非backup机器down恐怕忙时候,才起来央求backup机器,能够用做故障转移。

越来越多Nginx相关课程见以下内容:

CentOS 6.2实战计划Nginx+MySQL+PHP

使用Nginx搭建WEB服务器

搭建基于Linux6.3+Nginx1.2+PHP5+MySQL5.5的Web服务器全经过

CentOS 6.3下Nginx质量调优

CentOS 6.3下配置Nginx加载ngx_pagespeed模块

CentOS 6.4安装配置Nginx+Pcre+php-fpm

Nginx安装配置使用详细笔记

Nginx日志过滤 使用ngx_log_if不记录特定日志

Nginx 的详细介绍:请点这里
Nginx 的下载地址:请点这里

本文永恒更新链接地址:

WEB服务做负载均衡的章程有无数种,但利用Nginx做负载均衡配置一定是异常高效也是非常流行的一种。
本身许多…

  2.  将server节点下的location节点中的proxy_pass配置为:http:// +
upstream名称,即“
.

————————————–分割线

Nginx反向代理搭建配置及搭建进度一些思索 

CentOS 6.2实战安排Nginx+MySQL+PHP

使用Nginx搭建WEB服务器

搭建基于Linux6.3+Nginx1.2+PHP5+MySQL5.5的Web服务器全经过

CentOS 6.3下Nginx质量调优

CentOS 6.3下配置Nginx加载ngx_pagespeed模块

CentOS 6.4安装配备Nginx+Pcre+php-fpm

Nginx安装配备利用详细笔记

Nginx日志过滤 使用ngx_log_if不记录特定日志

Nginx 的详尽介绍:请点这里
Nginx 的下载地址:请点这里

正文永远更新链接地址:

一、负载均衡形式 1、轮询
upstream test_up { server localhost:8080; server localhost:9090; server
localhost:9090; } server { listen 80; server_n…

Nginx配置upstream完结负载均衡

若是Nginx没有单独只好代理一台服务器来说,那它也相当小概像前天那样火,Nginx能够配备代理多台服务器,当一台服务器宕机之后,仍可以保证系统可用。具体安插进度如下:

  1. 在http节点下,添加upstream节点。

upstream bkjia {
      server 10.0.6.108:7080;
      server 10.0.0.85:8980;
}

  2.  将server节点下的location节点中的proxy_pass配置为:http:// +
upstream名称,即“
.

location / {
            root  html;
            index  index.html index.htm;
            proxy_pass ;
}

    3. 
现行反革命负荷均衡最初产生了。upstream遵照轮询(私下认可)情势实行负荷,每一种央浼定期间种种依次分配到不一样的后端服务器,假设后端服务器down掉,能活动删除。即使这种艺术便捷、花费低廉。但劣势是:可信性低和负载分配不均匀。适用于图片服务器集群和纯静态页面服务器集群。

    除了这么些之外,upstream还大概有另外的分配政策,分别如下:

    weight(权重)

   
内定轮询概率,weight和做客比率成正比,用于后端服务器品质不均的地方。如下所示,10.0.0.88的访谈比率要比10.0.0.77的拜谒比率高级中学一年级倍。

upstream bkjia{
      server 10.0.0.77 weight=5;
      server 10.0.0.88 weight=10;
}

    ip_hash(访问ip)

   
每种诉求按访谈ip的hash结果分配,那样各种访客固定访谈一个后端服务器,能够解决session的标题。

upstream favresin{
      ip_hash;
      server 10.0.0.10:8080;
      server 10.0.0.11:8080;
}

    fair(第三方)

   
按后端服务器的响应时间来分配供给,响应时间短的开始时期分配。与weight分配战术类似。

 upstream favresin{     
      server 10.0.0.10:8080;
      server 10.0.0.11:8080;
      fair;
}

url_hash(第三方)

按访谈url的hash结果来分配须要,使各种url定向到同一个后端服务器,后端服务器为缓存时比较有效。

在意:在upstream中投入hash语句,server语句中无法写入weight等别的的参数,hash_method是运用的hash算法。

 upstream resinserver{
      server 10.0.0.10:7777;
      server 10.0.0.11:8888;
      hash $request_uri;
      hash_method crc32;
}

upstream仍是可认为每种设备安装景况值,这个状态值的意义分别如下:

down 表示单前的server这几天不参加负载.

weight 默以为1.weight越大,负载的权重就越大。

max_fails
:允许央浼失利的次数暗许为1.当赶上最大次数时,重回proxy_next_upstream
模块定义的错误.

fail_timeout : max_fails次破产后,暂停的日子。

backup:
别的具有的非backup机器down大概忙的时候,诉求backup机器。所以这台机械压力会最轻。

upstream bakend{ #概念负载均衡设备的Ip及设施状态
      ip_hash;
      server 10.0.0.11:9090 down;
      server 10.0.0.11:8080 weight=2;
      server 10.0.0.11:6060;
      server 10.0.0.11:7070 backup;
}

Nginx的安排与布局切磋,Upstream负载均衡模块 

CentOS 6.2实战陈设Nginx+MySQL+PHP

使用Nginx搭建WEB服务器

搭建基于Linux6.3+Nginx1.2+PHP5+MySQL5.5的Web服务器全经过

CentOS 6.3下Nginx品质调优

CentOS 6.3下配置Nginx加载ngx_pagespeed模块

CentOS 6.4安装配置Nginx+Pcre+php-fpm

Nginx安装配置使用详细笔记

Nginx日志过滤 使用ngx_log_if不记录特定日志

Nginx 的详实介绍:请点这里
Nginx 的下载地址:请点这里

本文永恒更新链接地址:

假如Nginx没有仅仅只好代理一台服务器来讲,那它也比异常的小概像今天那样火,Nginx能够配备代理多台服务器,当一…

backup:
另外具备的非backup机器down只怕忙的时候,央求backup机器。所以这台机械压力会最轻。

Nginx负载均衡实现

一、负载均衡模式
1、轮询

upstream test_up {
    server localhost:8080;   
            server localhost:9090;   
            server localhost:9090;
}

server {
      listen 80;
      server_name test;

      location /test.html {
            proxy_pass ;
      }}

如上代码当在浏览器地址栏中输入

2、权重分配

upstream test_up {
    server localhost:8080 weight=1;
    server localhost:9090 weight=2;
}

server {
      listen 80;
      server_name test;

      location /test.html {
            proxy_pass ;
      }
}

以上代码NGINX会依照权重值的分布,动态将前端央求分配给后端服务器

3、IP HASH分配

upstream test_up {
    server localhost:8080 weight=1;
    server localhost:9090 weight=2;
    ip_hash;
}

server {
    listen 80;
    server_name test;

    location /test.html {
        proxy_pass
    }
}

IP HASH情势是凭仗客商端IP进行HASH后,将客商端央浼分配给后端服务器

极其注意:上面代码中即使在种种server后边配置了权重,但利用了IP
HASH方式后,实际上权重并不会收效

二、对SE宝马X5VEEvoque实行支配
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 对UPAJEROL进行相称.能够实行重定向也许进行新的代理 负载均衡

  1. 在http节点下,添加upstream节点。

fail_timeout : max_fails次倒闭后,暂停的光阴。

    ip_hash(访问ip)

搭建基于Linux6.3+Nginx1.2+PHP5+MySQL5.5的Web服务器全经过 

upstream favresin{ 
      ip_hash; 
      server 10.0.0.10:8080; 
      server 10.0.0.11:8080; 
}

   
按后端服务器的响应时间来分配央浼,响应时间短的先行分配。与weight分配战术类似。

upstream linuxidc { 
      server 10.0.6.108:7080; 
      server 10.0.0.85:8980; 
}

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图