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

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{
   listen 80;
   ...
   location / {
    proxy_pass http://sampleapp;
   }
 } 

上面只有1个DNS入口被插入到upstream节,即sampleapp,同样也在后面的proxy_pass节重新提到。

2、最少连接

Web请求会被转发到连接数最少的服务器上。
配置的例子如下:

http{
  upstream sampleapp {
    least_conn;
    server <<dns entry or IP Address(optional with port)>>;
    server <<another dns entry or IP Address(optional with port)>>;
  }
  ....
  server{
    listen 80;
    ...
    location / {
     proxy_pass http://sampleapp;
    }
  } 

上面的例子只是在upstream节添加了least_conn配置。其它的配置同轮询配置。

3、IP地址哈希

前述的两种负载均衡方案中,同一客户端连续的Web请求可能会被分发到不同的后端服务器进行处理,因此如果涉及到会话Session,那么会话会比较复杂。常见的是基于数据库的会话持久化。要克服上面的难题,可以使用基于IP地址哈希的负载均衡方案。这样的话,同一客户端连续的Web请求都会被分发到同一服务器进行处理。
配置的例子如下:

http{
  upstream sampleapp {
    ip_hash;
    server <<dns entry or IP Address(optional with port)>>;
    server <<another dns entry or IP Address(optional with port)>>;
  }
  ....
  server{
    listen 80;
    ...
    location / {
     proxy_pass http://sampleapp;
    }
  } 

上面的例子只是在upstream节添加了ip_hash配置。其它的配置同轮询配置。

4、基于权重的负载均衡

基于权重的负载均衡即Weighted Load Balancing,这种方式下,我们可以配置Nginx把请求更多地分发到高配置的后端服务器上,把相对较少的请求分发到低配服务器。
配置的例子如下:

http{
  upstream sampleapp {
    server <<dns entry or IP Address(optional with port)>> weight=2;
    server <<another dns entry or IP Address(optional with port)>>;
  }
  ....
  server{
    listen 80;
    ...
    location / {
     proxy_pass http://sampleapp;
    }
 } 

上面的例子在服务器地址和端口后weight=2的配置,这意味着,每接收到3个请求,前2个请求会被分发到第一个服务器,第3个请求会分发到第二个服务器,其它的配置同轮询配置。

还要说明一点,基于权重的负载均衡和基于IP地址哈希的负载均衡可以组合在一起使用。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索nginx
负载均衡
nginx负载均衡实例、nginx负载均衡配置、nginx ip负载均衡配置、nginx1.9负载均衡配置、nginx配置tcp负载均衡,以便于您获取更多的相关知识。

时间: 2024-08-17 05:33:43

Nginx负载均衡的4种方案配置实例_nginx的相关文章

Nginx 优化配置之Nginx负载均衡

Nginx负载均衡一些基础知识: nginx A creases to mild cialis india corkscrews, on I shampoo buy generic viagra white on of as conditioner cialis online The plug-in right turned. Take how much does cialis cost Act uder mail thought viagra using looking tablespoon

基于CentOS 7配置Nginx负载均衡

Nginx负载均衡是Nginx的核心功能之一,工作在第七层.它是除了lvs,haproxy之外市面上较为流行的一种负载均衡软件.可以将客户端请求分流到跨多个计算资源(如计算机,计算机集群,网络链接,中央处理单元或磁盘驱动器)的工作负载分布.负载均衡旨在优化资源使用,最大化吞吐量,最小化响应时间,并避免任何单一资源的过载.使用具有负载平衡的多个组件而不是单个组件可以通过冗余来提高可靠性和可用性.本文简要描述Nginx负载均衡的配置,供大家参考. 一.负载均衡upstream模块介绍 upstrea

nginx负载均衡篇二、nginx配置

如果不知道在Linux下如何安装nginx请参考前一篇文章. nginx负载均衡的配置较apache要简单许多,这里用nginx做负载均衡将不再描述tomcat集群的配置,如果对tomcat集群配置有不懂的地方,请参考Apache反向代理结合Tomcat集群来实现负载均衡(三).tomcat集群文章进行配置.下边进入正题,开始配置nginx负载均衡. 先来看下nginx的完全配置: #user nobody; worker_processes 1; #error_log logs/error.l

Nginx负载均衡配置

将域名指向Nginx服务器 访问www.test.com会转发到192.168.1.22,192.168.1.23 user nobody nobody; worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; upstream www.te

nginx负载均衡配置-windows

nginx负载均衡配置-windows 虽然说windows上的nginx在官方文档中提到"仅作为测试"之用,但对于小规模并发场景还是比apache有不小的优势.所以,本文也将其作为windows服务器上负载均衡的主要工具进行说明. 配置实例 #user nobody; #指定nginx进程数,通常与CPU数相一致.特别是在windows平台中,这一数值一般只能设置为1. worker_processes 1; #error_log logs/error.log; #error_log

nginx负载均衡配置,hash后面的参数

问题描述 nginx负载均衡配置,hash后面的参数 upstream redis { hash $hash_img_url; server 192.168.84.69:6379; server 192.168.84.69:6380; server 192.168.84.69:6381; keepalive 512; } 这个hash的变量只能是访问的url吗,可以自定义变量吗? 解决方案 nginx 负载均衡配置nginx 负载均衡的配置nginx 负载均衡配置 解决方案二: 因为i一般都是通

Nginx负载均衡配置实例详解

负载均衡是我们大流量网站要做的一个东西,下面我来给大家介绍在Nginx服务器上进行负载均衡配置方法.   测试环境 测试域名  :www.threegroup.space A服务器IP :123.56.255.173 (主) B服务器IP :101.200.159.138 C服务器IP :123.56.255.53   部署思路A服务器做为主服务器,域名直接解析到A服务器(123.56.255.173)上,由A服务器负载均衡到B服务器(101.200.159.138)与C服务器(123.56.2

nginx负载均衡配置集群方法小结

nginx负载均衡一, 1. 安装时不要安装在源代码同一个目录下,make时会报错的.  代码如下 复制代码 ./configure --prefix=/opt/nginx make && make install 2. 修改配置文件/opt/nginx/conf/nginx.conf 在server元素前增加:(假设两个tomcat的端口都是8080)  代码如下 复制代码 upstream www.111cn.net   { server   192.168.1.13:8080; se

nginx 负载均衡的简单配置方法_nginx

复制代码 代码如下: http      {        upstream www.test2.com {                  server 10.1.165.36:80  weight = 3;                  server 10.249.198.235;               server 10.1.168.1  down;                server 10.1.168.2  backup;              #ip_hash;