使用nginx做负载均衡的模块解读

使用nginx做负载均衡的两大模块:

  • upstream 定义负载节点池。
  • location 模块 进行URL匹配。
  • proxy模块 发送请求给upstream定义的节点池。

upstream模块解读

nginx 的负载均衡功能依赖于 ngx_http_upstream_module模块,所支持的代理方式有 proxy_pass(一般用于反向代理),fastcgi_pass(一般用于和动态程序交互),memcached_pass,proxy_next_upstream,fastcgi_next_pass,memcached_next_pass 。

upstream 模块应该放于http{}标签内。

模块写法:

upstream backend {
  ip_hash;
  server backend1.example.com    weight=5;
  server backend2.example.com:8080;
  server backup1.example.com:8080  backup;
  server backup2.example.com:8080  backup;
}

实例一:

upstream dynamic {
  zone upstream_dynamic 64k;

  server backend1.example.com   weight=5;
  server backend2.example.com:8080 fail_timeout=5s slow_start=30s;
  server 192.0.2.1         max_fails=3;
  server backend3.example.com   resolve;

  server backup1.example.com:8080 backup;
  server backup2.example.com:8080 backup;
}

语法解释:

nginx默认支持四种调度算法

  • 轮询(rr),每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器故障,故障系统自动清除,使用户访问不受影响。
  • 轮询权值(weight),weight值越大,分配到的访问几率越高,主要用于后端每个服务器性能不均的情况。
  • ip_hash,每个请求按访问IP的hash结果分配,这样来自同一个IP的固定访问一个后端服务器,主要解决动态网站session共享的问题。
  • url_hash,按照访问的URL的hash结果来分配请求,是每个URL定向到同一个后端服务器,可以进一步提高后端缓存服务器的效率,nginx本身不支持,如果想使用需要安装nginx的hash软件包。
  • fair,这个算法可以依据页面大小和加载时间长短智能的进行负载均衡,也就是根据后端服务器的响应时间来分配请求,相应时间短的优先分配,默认不支持,如果想使用需要安装upstream_fail模块。
  • least_conn 最少链接数,那个机器连接数少就分发。

server模块的写法

server IP 调度状态

server指令指定后端服务器IP地址和端口,同时还可以设定每个后端服务器在负载均衡调度中的状态。

  • down 表示当前的server暂时不参与负载均衡。
  • backup 预留的备份服务器,当其他所有的非backup服务器出现故障或者忙的时候,才会请求backup机器,因为这台集群的压力最小。
  • max_fails 允许请求失败的次数,默认是1,当超过最大次数时,返回proxy_next_upstream模块定义的错误。0表示禁止失败尝试,企业场景:2-3.京东1次,蓝汛10次,根据业务需求去配置。

fail_timeout,在经历了max_fails次失败后,暂停服务的时间。京东是3s,蓝汛是3s,根据业务需求配置。常规业务2-3秒合理。
例:如果max_fails是5,他就检测5次,如果五次都是502.那么,他就会根据fail_timeout 的值,等待10秒,再去检测。

server 如果接域名,需要内网有DNS服务器,或者在负载均衡器的hosts文件做域名解析。server后面还可以直接接IP或IP加端口。

长连接 keepalive

upstream backend {
  server backend2.example.com:8080;
  server backup1.example.com:8080  backup;
  keepalive 100;
}

通过该指令配置了每个worker进程与上游服务器可缓存的空闲连接的最大数量。
当超出这个数量时,最近最少使用的连接将被关闭。keepalive指令不限制worker进程与上游服务器的总连接。

location / {
  # 支持keep-alive
  proxy_http_version 1.1;
  proxy_set_header Connection "";
  proxy_pass http://backup;
}
  • 如果是http/1.0 需要配置发送"Connection: Keep-Alive" 请求头。
  • 上游服务器不要忘记开启长连接支持。

连接池配置建议

  • 总长连接数是"空闲连接池"+"释放连接池"的长连接总数。
  • 首先,长连接配置不会限制worker进程可以打开的总连接数(超了的作为短连接)。另外连接池一定要根据场景合理进行设置。

空闲连接池太小,连接不够用,需要不断建连接。
空闲连接池太大,空闲连接太多,还没使用就超时。
建议只对小报文开启长连接。

location 模块解读

location作用:基于一个指令设置URI。

基本语法:

Syntax: location [ = | ~ | ~* | ^~ ] uri { ... }
location @name { ... }
Default: —
Context: server, location
  • = 精确匹配,如果找到匹配=号的内容,立即停止搜索,并立即处理请求(优先级最高)
  • ~ 区分大小写
  • ~* 不区分大小写
  • ^~ 只匹配字符串,不匹配正则表达式
  • @ 指定一个命名的location,一般用于内部重定义请求,location @name {…}

匹配是有优先级的,不是按照nginx的配置文件进行。

官方的例子:

location = / {
  [ configuration A ]
}
location / {
  [ configuration B ]
}
location /documents/ {
  [ configuration C ]
}
location ^~ /images/ {
  [ configuration D ]
}
location ~* \.(gif|jpg|jpeg)$ {
  [ configuration E ]
}

结论:

  • / 匹配A。
  • /index.html 匹配B
  • /documents/document.html 匹配C
  • /images/1.gif 匹配D
  • /documents/1.jpg 匹配的是E。

测试用的例子:

location / {
      return 401;
    }
    location = / {
      return 402;
    }
    location /documents/ {
      return 403;
    }
    location ^~ /images/ {
      return 404;
    }
    location ~* \.(gif|jpg|jpeg)$ {
      return 500;
    }

测试结果(重点看):

[root@lb01 conf]# curl -I -s -o /dev/null -w "%{http_code}\n" http://10.0.0.7/
402
[root@lb01 conf]# curl -I -s -o /dev/null -w "%{http_code}\n" http://10.0.0.7/index.html
401
[root@lb01 conf]# curl -I -s -o /dev/null -w "%{http_code}\n" http://10.0.0.7/documents/document.html
403
[root@lb01 conf]# curl -I -s -o /dev/null -w "%{http_code}\n" http://10.0.0.7/images/1.gif
404
[root@lb01 conf]# curl -I -s -o /dev/null -w "%{http_code}\n" http://10.0.0.7/dddd/1.gif
500

结果总结:

匹配的优先顺序,=>^~(匹配固定字符串,忽略正则)>完全相等>~*>空>/ 。

工作中尽量将'='放在前面

proxy_pass 模块解读

proxy_pass 指令属于ngx_http_proxy_module 模块,此模块可以将请求转发到另一台服务器。

写法:

proxy_pass http://localhost:8000/uri/;

实例一:

  upstream blog_real_servers {
     server 10.0.0.9:80 weight=5;
     server 10.0.0.10:80 weight=10;
     server 10.0.0.19:82 weight=15;
  }
  server {
    listen    80;
    server_name blog.etiantian.org;
    location / {
    proxy_pass http://blog_real_servers;
    proxy_set_header host $host;
    }
  }
  • proxy_set_header:当后端Web服务器上也配置有多个虚拟主机时,需要用该Header来区分反向代理哪个主机名,proxy_set_header host $host;。
  • proxy_set_header X-Forwarded-For :如果后端Web服务器上的程序需要获取用户IP,从该Header头获取。proxy_set_header X-Forwarded-For $remote_addr;

配置后端服务器接收前端真实IP

配置如下:

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

rs_apache节点的httpd.conf配置

LogFormat "\"%{X-Forwarded-For}i\" %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{U
ser-Agent}i\"" combined修改日志记录
apache
LogFormat "\"%{X-Forwarded-For}i\" %l %u %t \"%r\" %>s %b" common

proxy_pass相关的优化参数

  • client_max_body_size 10m; 允许客户端请求的最大的单个文件字节数。
  • client_body_buffer_size 128k; 缓冲区代理缓冲用户端请求的最大字节数 可以理解为先保存到本地再传给用户。
  • proxy_connect_timeout 600; 跟后端服务器连接的超时时间_发起握手等候响应超时时间。
  • proxy_read_timeout 600; 连接成功后_等候后端服务器响应时间_其实已经进入后端的排队之中等候处理。
  • proxy_send_timeout 600; 后端服务器回传数据时间,就是在规定时间之内后端服务器必须传完所有的数据。
  • proxy_buffer_size 8k; 代理请求缓存区,这个缓存区间会保存用户的头信息以供Nginx进行规则处理,一般只要设置能保存下头信息即可。
  • proxy_buffers 4 32k; 同上 告诉Nginx保存单个页面使用的空间大小,假设网页大小平均在32k以下的话。
  • proxy_busy_buffers_size 64k; 如果系统很忙的时候可以申请更大的proxy_buffers 官方推荐(proxy_buffers*2)。
  • proxy_max_temp_file_size 1024m; 当 proxy_buffers 放不下后端服务器的响应内容时,会将一部分保存到硬盘的临时文件中,这个值用来设置最大临时文件大小,默认1024M,它与 proxy_cache 没有关系。大于这个值,将从upstream服务器传回。设置为0禁用。
  • proxy_temp_file_write_size 64k; proxy缓存临时文件的大小 proxy_temp_path(可以在编译的时候)指定写到哪那个目录。

健康检查

Nginx提供了health_check语句来提供负载(upstream)时的键康检查机制(注意:此语句需要设置在location上下文中)。

支持的参数有:

  • interval=time:设置两次健康检查之间的间隔值,默认为5秒
  • fails=number:设置将服务器视为不健康的连续检查次数,默认为1次
  • passes=number:设置一个服务器被视为健康的连续检查次数,默认为1次
  • uri=uri:定义健康检查的请求URI,默认为”/“
  • match=name:指定匹配配置块的名字,用记测试响应是否通过健康检测。默认为测试返回状态码为2xx和3xx

一个简单的设置如下,将使用默认值:

location / {
  proxy_pass http://backend;
  health_check;
}

对就应用,我们可以专门定义一个API用于健康检查:/api/health_check,并只返回HTTP状态码为200。并设置两次检查之间的间隔值为1秒。这样,health_check语句的配置如下:

health_check uri="/api/health_check" interval;

匹配match的方法

http {
  server {
  ...
    location / {
      proxy_pass http://backend;
      health_check match=welcome;
    }
  }

  match welcome {
    status 200;
    header Content-Type = text/html;
    body ~ "Welcome to nginx!";
  }
}

match 例子举例

  • status 200;: status 等于 200
  • status ! 500;: status 不是 500
  • status 200 204;: status 是 200 或 204
  • status ! 301 302;: status 不是301或302。
  • status 200-399;: status 在 200 到 399之间。
  • status ! 400-599;: status 不在 400 到 599之间。
  • status 301-303 307;: status 是 301, 302, 303, 或 307。
  • header Content-Type = text/html;: “Content-Type” 得值是 text/html。
  • header Content-Type != text/html;: “Content-Type” 不是 text/html。
  • header Connection ~ close;: “Connection” 包含 close。
  • header Connection !~ close;: “Connection” 不包含 close。
  • header Host;: 请求头包含 “Host”。
  • header ! X-Accel-Redirect;: 请求头不包含 “X-Accel-Redirect”。
  • body ~ "Welcome to nginx!";: body 包含 “Welcome to nginx!”。
  • body !~ "Welcome to nginx!";: body 不包含 “Welcome to nginx!”。

一个完整的nginx实例

[root@lb01 conf]# cat nginx.conf
worker_processes 1;
events {
  worker_connections 1024;
}
http {
  include    mime.types;
  default_type application/octet-stream;
  sendfile    on;
  keepalive_timeout 65;
  #blog lb by oldboy at 201303
  upstream blog_real_servers {
  server  10.0.0.9:80 weight=1 max_fails=1 fail_timeout=10s;
  server  10.0.0.10:80 weight=1 max_fails=2 fail_timeout=20s;

  }
  server {
    listen    80;
    server_name blog.etiantian.org;
    location / {
    proxy_pass http://blog_real_servers;
    include proxy.conf;
    }
  }
}
[root@lb01 conf]# cat proxy.conf
    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-For $remote_addr;
    proxy_connect_timeout 90;
    proxy_send_timeout 90;
    proxy_read_timeout 90;
    proxy_buffer_size 4k;
    proxy_buffers 4 32k;
    proxy_busy_buffers_size 64k; proxy_temp_file_write_size 64k;

扩展补充

只允许使用GET,HEAD,POST方法去请求

## Only allow these request methods ##
   if ($request_method !~ ^(GET|HEAD|POST)$ ) {
     return 444;
   }

实战

根据URI及location实现动静分离。

最终实现:

  • /static/的URL都去访问10.0.0.9。
  • /dynamic/的URL都去访问10.0.0.10。
  • 图片这些静态文件去访问10.0.0.9。
  • /upload/的URL都去访问10.0.0.10。
[root@lb01 conf]# cat nginx.conf
worker_processes 1;
events {
  worker_connections 1024;
}
http {
  include    mime.types;
  default_type application/octet-stream;
  sendfile    on;
  keepalive_timeout 65;
  #blog lb by oldboy at 201303

  upstream static_pools {
   server 10.0.0.9:80;
  }
  upstream dynamic_pools {
   server 10.0.0.10:80;
  }
   upstream upload_pools {
   server 10.0.0.9:80;
  }

  server {
    listen    80;
    server_name blog.biglittleant.cn;

    location / {
    proxy_pass http://static_pools;
    include proxy.conf;
    }

    location /static/ {
    proxy_pass http://static_pools;
    include proxy.conf;
    }

    location ~* \.(gif|jpg|jpeg)$ {
     proxy_pass http://static_pools;
     include proxy.conf;
    }

    location /dynamic/ {
    proxy_pass http://dynamic_pools;
    include proxy.conf;
    }
    location /upload/ {
    proxy_pass http://upload_pools;
    include proxy.conf;
    }
  }
}

实现苹果手机和安卓手机访问不同的地址

server {
    listen    80;
    server_name blog.etiantian.org;
    location / {
    if ($http_user_agent ~* "android")
     {
      proxy_pass http://android_pools;
     }
    if ($http_user_agent ~* "iphone")
     {
      proxy_pass http://iphone_pools;
      }
    proxy_pass http://pc_pools;
    include extra/proxy.conf;
    }
    access_log off;
   }

参考文档

nginx-proxy_pass官网

到此这篇关于使用nginx做负载均衡的模块解读的文章就介绍到这了,更多相关nginx 负载均衡内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 详解Nginx中的geo模块与利用其配置负载均衡的示例

    geo指令使用ngx_http_geo_module模块提供的.默认情况下,nginx有加载这个模块,除非人为的 --without-http_geo_module. ngx_http_geo_module模块可以用来创建变量,其值依赖于客户端IP地址. geo指令 语法: geo [$address] $variable { ... } 默认值: - 配置段: http 定义从指定的变量获取客户端的IP地址.默认情况下,nginx从$remote_addr变量取得客户端IP地址,但也可以从其他

  • 详解Nginx服务器之负载均衡策略(6种)

    一.关于Nginx的负载均衡 在服务器集群中,Nginx起到一个代理服务器的角色(即反向代理),为了避免单独一个服务器压力过大,将来自用户的请求转发给不同的服务器.详情请查看我的另一篇博客. 二.Nginx负载均衡策略 负载均衡用于从"upstream"模块定义的后端服务器列表中选取一台服务器接受用户的请求.一个最基本的upstream模块是这样的,模块内的server是服务器列表: #动态服务器组 upstream dynamic_zuoyu { server localhost:8

  • Nginx geoip模块实现地区性负载均衡

    相信做过awstats的都用过开源的geoip.dat  ip数据库,刚好nginx wiki上有geoip 模块,这样就可以实现地区性的负载均衡,但是maxmind 的ip数据库对中国的支持不算太好,不过现在也不错了~ 参考文章:http://wiki.nginx.org/NginxHttpGeoIPModule 说下我的环境,我有一台美国linux 服务器,一台美国的windows 2003 ,一台本的XP.机器,其他测试用户都是,QQ群里的朋友,好了开始测试 linux : 75.125.

  • Nginx负载均衡的4种方案配置实例

    1.轮询 轮询即Round Robin,根据Nginx配置文件中的顺序,依次把客户端的Web请求分发到不同的后端服务器. 配置的例子如下: http{ upstream sampleapp { server <<dns entry or IP Address(optional with port)>>; server <<another dns entry or IP Address(optional with port)>>; } .... server{

  • 在Nginx服务器中配置针对TCP的负载均衡的方法

    默认nginx不支持tcp的负载均衡,需要打补丁,(连接方式:从客户端收到一个连接,将从本地新建一个连接发起到后端服务器),具体配置如下: 一.安装Nginx 1.下载nginx # wget http://nginx.org/download/nginx-1.2.4.tar.gz 2.下载tcp模块补丁 # wget https://github.com/yaoweibin/nginx_tcp_proxy_module/tarball/master 源码主页: https://github.c

  • nginx 作为反向代理实现负载均衡的例子

    nginx 这个轻量级.高性能的 web server 主要可以干两件事情: 〉直接作为http server(代替apache,对PHP需要FastCGI处理器支持): 〉另外一个功能就是作为反向代理服务器实现负载均衡 以下我们就来举例说明如何使用 nginx 实现负载均衡.因为nginx在处理并发方面的优势,现在这个应用非常常见.当然了Apache的 mod_proxy和mod_cache结合使用也可以实现对多台app server的反向代理和负载均衡,但是在并发处理方面apache还是没有

  • nginx 负载均衡 多站点共享Session

    多站点共享Session常见的作法有: •使用.net自动的状态服务(Asp.net State Service); •使用.net的Session数据库: •使用Memcached. •使用Cookie方式实现多个站点间的共享(这种方式只限于几个站点都在同一域名的情况下): 这里我们就 演练一下 以数据库的形来存储Session,来实现多站点共享Session. 首先我们 建好一下站点,如下图: Default.aspx 其中 有二个Button  ,SetSession 主要是用于给一个 S

  • nginx基于tcp做负载均衡的方法

    配置多台服务器时,经常需要让各个服务器之间的时间保持同步,如果服务器有外网环境,可以直接同外部的时间服务器更新时间,可以采用rdate命令更新时间: rdate -s tick.greyware.com 可以写个脚本放在/etc/cron.hourly中每小时校正一下时间. 如果是内网环境下,可以自己配置一个时间服务器,以CentOS为例,配置时间服务器的方法如下: 1.先安装xinetd : sudo yum install -y xinetd 2.修改/etc/xinetd.d/time-

  • Nginx做NodeJS应用负载均衡配置实例

    负载均衡可以把用户的请求分摊到多个服务器上进行处理,从而实现了对海量用户的访问支持.负载均衡的架构如图所示: 对于复杂的Web应用来说,用Nginx做前端负载均衡是理所当然的事. 下面,我们用Nginx做NodeJS应用的负载均衡. 1.配置Nginx 修改nginx.conf: upstream sample { server 127.0.0.1:3000; server 127.0.0.1:3001; keepalive 64; } server { listen 80; .... serv

  • 使用nginx做负载均衡的模块解读

    使用nginx做负载均衡的两大模块: upstream 定义负载节点池. location 模块 进行URL匹配. proxy模块 发送请求给upstream定义的节点池. upstream模块解读 nginx 的负载均衡功能依赖于 ngx_http_upstream_module模块,所支持的代理方式有 proxy_pass(一般用于反向代理),fastcgi_pass(一般用于和动态程序交互),memcached_pass,proxy_next_upstream,fastcgi_next_p

  • Windows下使用Nginx+Tomcat做负载均衡的完整步骤

    前言 今天,王子与大家闲谈一下如何在Windows下使用Nginx+Tomcat做负载均衡的完整步骤,小伙伴们可以试着自己动手实践一下哦. 另外说明一点,本篇文章是纯实操文章,不涉及太多原理的解读,后期可能单独开一个专栏来深入讨论Nginx的原理. 好了那我们直接开始. 下载Nginx 首先我们去官网下载一个Windows稳定版本的Nginx,官网地址:http://nginx.org/en/download.html 下载后解压到想要的位置,小伙伴们要注意了,千万不要把它解压到带有中文的文件夹

  • Nginx服务器做负载均衡反向代理的超级攻略

    nginx 做反向代理时,后端主机有多台,可以使用 upstream 定义一个后端主机池,在反向代理时直接使用主机池的名字.在 upstream 中可以定义负载均衡调度算法,权重,健康状态检测等参数. 例如: upstream backend { server 172.16.0.1:80 weight=1 max-fails=3 fail_timeout=10; server 172.16.0.2:80 weight=1max-fails=3 fail_timeout=10;; } 默认请求下,

  • Nginx/Httpd负载均衡tomcat配置教程

    在前一篇博客中我们聊了下用Nginx和httpd对后端tomcat服务做反代相关配置,回顾请参考https://www.jb51.net/article/191277.htm:今天我们来聊一聊用Nginx和httpd对tomcat集群做负载均衡的配置以及需要注意的点:在前边的演示和配置都是以单台tomcat来配置使用:但是在生产中单台tomcat实在支撑不了大规模的访问,这个时候我们就需要考虑把多台tomcat做成集群对外提供服务:多台tomcat做成集群对外提供服务就必然要有一个调度器来对客户

  • Nginx+tomcat负载均衡集群的实现方法

    实验环境如下 这里需要准备4台服务器(1台nginx.2台tomcat做负载.一台MySQL做数据存储) 准备软件包如下: 软件包地址连接: 链接: https://pan.baidu.com/s/1Zitt5gO5bDocV_8TgilvRw 提取码: ny1r nginx配置(172.16.1.54) 1.安装依赖包 yum -y install pcre-devel zlib-devel gcc gcc-c++ 2.创建nginx运行用户 useradd -M -s /sbin/nolog

  • Nginx四层负载均衡的配置指南

    一.四层负载均衡介绍 什么是四层负载均衡 所谓四层负载均衡,也就是主要通过报文中的目标地址和端口,再加上负载均衡设备设置的服务器选择方式,决定最终选择的内部服务器. 以常见的TCP为例,负载均衡设备在接收到第一个来自客户端的SYN 请求时,选择一个最佳的服务器,并对报文中目标IP地址进行修改(改为后端服务器IP),直接转发给该服务器.TCP的连接建立,即三次握手是客户端和服务器直接建立的,负载均衡设备只是起到一个类似路由器的转发动作.在某些部署情况下,为保证服务器回包可以正确返回给负载均衡设备,

  • Nginx实现负载均衡的项目实践

    目录 一.Nginx介绍 二.Nginx特点 三.Nginx负载均衡 3.1 认识 upstream 模块 3.2 Nginx负载均衡策略 3.3 Nginx负载均衡实例 总结 一.Nginx介绍 Nginx是一款高性能的Http和反向代理服务器,也是一个IMAP/POP3/SMTP服务器(电子邮件代理),最早开发这个产品的目的之一也是作为邮件代理服务器.因它的稳定性.丰富的功能集.示例配置文件和低系统资源的消耗及其高并发性能强而广泛应用于各种生产部署之中.而且nginx是基于事件驱动模型(ep

  • Nginx Tomcat负载均衡动静分离原理解析

    目录 nginx实现负载均衡原理 nginx动静分离原理 nginx静态处理优势 nginx+tomcat动静分离.负载均衡配置 1.准备三台服务器,nginx作为负载均衡器,tomcat作为应用服务器 2.部署nginx负载均衡器 3.部署两台tomcat应用服务器 4.动静分离配置 5.测试效果 nginx负载均衡中4层代理和7层代理 4层代理和7层代理 代理原理 优缺点对比 nginx支持的代理类型 nginx负载均衡模式 Nginx 四层代理配置 nginx实现负载均衡原理 Nginx实

  • 负载均衡的基本知识以及使用nginx进行负载均衡的简单例子

    nginx一般可以用于七层的负载均衡,这篇文章将介绍一些负载均衡的基本知识以及使用nginx进行负载均衡的简单的例子. 四层负载均衡 vs 七层负载均衡 经常会说七层负载均衡还是四层负载均衡,其实根据ISO的OSI网络模型的所在层的叫法而决定的,nginx因为在使用http协议在应用层进行负载均衡的操作,所以被称为七层负载均衡.而诸如LVS在TCP层进行负载均衡操作的则被称为四层负载均衡.一般来说,有如下层的负载均衡分类: 常见软件的支持 常见的负载均衡算法 负载均衡常见有如下几种算法: 负载均

  • Nginx搭建负载均衡集群的实现

    (1).实验环境 youxi1 192.168.5.101 负载均衡器 youxi2 192.168.5.102 主机1 youxi3 192.168.5.103 主机2 (2).Nginx负载均衡策略 nginx的负载均衡用于upstream模板定义的后端服务器列表中选取一台服务器接收用户的请求.一个基本的upstream模块如下: upstream [服务器组名称]{ server [IP地址]:[端口号]; server [IP地址]:[端口号]; .... } 在upstream模块配置

随机推荐