精华内容
下载资源
问答
  • nginx搭建负载均衡

    2021-02-11 18:41:09
    nginx搭建负载均衡负载均衡的概念Nginx负载均衡策略轮询(缺省)策略权重(weight)策略ip_hash策略least_conn策略fair策略第三方插件安装url_hash策略 负载均衡的概念 负载均衡是由多台服务器以对称的方式组成一个...

    负载均衡的概念

    负载均衡是由多台服务器以对称的方式组成一个服务器集合,每台服务器都具有等价的地位,都可以单独对外供应效力而无须其他服务器的辅助。经过某种负载分管技术,将外部发送来的央求均匀分配到对称结构中的某一台服务器上,而接收到央求的服务器独登时回应客户的央求。均衡负载可以平均分配客户央求到服务器列阵,籍此供应快速获取重要数据,解决很多并发访问效力问题。这种群集技术可以用最少的出资取得接近于大型主机的性能。

    在这里插入图片描述

    Nginx负载均衡策略

    nginx的负载均衡用于upstream模板定义的后端服务器列表中选取一台服务器接收用户的请求。一个基本的upstream模块如下:

    upstream [服务器组名称]{
      server [IP地址]:[端口号];
      server [IP地址]:[端口号];
      ....
    }
    

    在upstream模块配置完成后,要让指定的访问反向代理到服务器列表,格式如下:

    location ~ .*$ {
      index index.jsp index.html;
      proxy_pass http://[服务器组名称];
    }
    

    这样就完成了最基本的负载均衡,但是这并不能满足实际需求。目前Nginx的upstream模块支持6种方式的负载均衡策略(算法):

    • 轮询(默认方式)
    • weight(权重方式)
    • ip_hash(依据ip分配方式)
    • least_conn(最少连接方式)
    • fair(第三方提供的响应时间方式
    • url_hash(第三方通过的依据URL分配方式)。

    轮询(缺省)策略

    最基本的配置方法,是upstream模块默认的负载均衡策略。每个请求会按时间顺序平均分配到不同的后端服务器。有如下参数:

    参数用法/作用
    fail_timeout与max_fails结合使用
    max_fails在fail_timeout参数设置的时间内最大失败次数。如果在这个时间内,所有该服务器的请求都失败了,那么认为该服务器停机
    fail_time服务器被认为停机的时长,默认10s(被认为停机的服务器尝试间隔?)
    backup标记该服务器为备用服务器。当主服务器停止时,请求会被发送到它这里
    down标记服务器永久停机

    代码案例

    upstream tdt_wugk {
        server   10.10.141.30:8080 weight=1max_fails=2fail_timeout=30s;
        server   10.10.141.30:8081 weight=1max_fails=2fail_timeout=30s;
        server   10.10.141.31:8080 weight=1max_fails=2fail_timeout=30s;
        server   10.10.141.31:8081 weight=1max_fails=2fail_timeout=30s;
        server   10.10.141.32:8080 weight=1max_fails=2fail_timeout=30s;
        server   10.10.141.32:8081 weight=1max_fails=2fail_timeout=30s;
    }
    

    注意:1.down标记的服务器会自动剔除;2.缺省就是轮询;3.此策略适合服务器配置无状态且短平块的服务使用

    权重(weight)策略

    权重方式,在轮询策略的基础上指定轮询的几率。也可以认为是在轮询的基础上新增了一个weight的参数,此参数指定轮询的几率,值为number。upstream模块配置模板如下:

    upstream [服务器组名称]{
      server [IP地址]:[端口号] weight=2;
      server [IP地址]:[端口号];
      ....
    }
    

    注意:1.权重越高分配到的请求越多;2.此策略可以和least_conn策略、iphash策略结合使用;3.此策略比较适合服务器硬件配置差距较大的情况。

    ip_hash策略

    依据ip分配方式,指定负载均衡器按照基于客户端IP的分配方式,这个方法确保了相同的客户端请求一致发送到相同的服务器,以保session会话。这样每个访客都固定访问一个后端服务器,可以解决session不能跨服务器的问题。upstream模块配置模板如下:

    upstream [服务器组名称]{
      ip_hash;
      server [IP地址]:[端口号] weight=2;
      server [IP地址]:[端口号];
      ....
    }
    

    注意:1.nginx1.3.1之前的版本不能在ip_hash中使用权重(weight);2…ip_hash不能与backup同时使用;3.此策略适合有状态服务的程序,比如session;4.当有服务器需要剔除,必须手动down掉。

    least_conn策略

    最少连接方式,把请求发给链接数最少的后端服务器。轮询是把请求平均分配给各个后端,使它们的负载大致相同。但是,有些请求占用的时间很长,会导致其所在的后端负载较高。这种情况下,least_conn这种方式就可以达到更好的负载均衡效果。upstream模块配置模板如下:

    upstream [服务器组名称]{
      least_conn;
      server [IP地址]:[端口号] weight=2;
      server [IP地址]:[端口号];
      ....
    }
    

    注意:此策略适合请求处理时间长短不一造成的服务器过载情况。

    fair策略

    响应时间方式,按照服务器端的响应时间来分配请求,响应时间短的优先分配。,fair采用的不是内建负载均衡使用的轮换的均衡算法,而是可以根据页面大小、加载时间长短智能的进行负载均衡upstream模块配置模板如下:

    upstream [服务器组名称]{
       fair; 
      server [IP地址]:[端口号] weight=2;
      server [IP地址]:[端口号];
      ....
    }
    

    注意:需要安装第三方插件。

    第三方插件安装

    插件地址:nginx-upstream-fair

    1.未安装Nginx
    切换到Nginx目录执行一下操作

    ./configure --prefix=/usr/local/nginx  --sbin-path=/usr/local/nginx/nginx --conf-path=/usr/local/nginx/nginx.conf --pid-path=/usr/local/nginx/nginx.pid  --add-module=/home/nginx-upstream-fair-master
    

    编译安装

    make && make intstall
    

    url_hash策略

    url分配方式,按访问url的hash结果来分配请求,使每个url定向到同一个后端服务器,要配合缓存命中来使用。同一个资源多次请求可能会到达不同的服务器上,导致不必要的多次下载,缓存命中率不高,以及一些资源时间的浪费。而使用url_hash,可以使得同一个url(也就是同一个资源请求)会到达同一台服务器,一旦缓存住了资源,再次收到请求,就可以在缓存中读取。upstream模块配置模板如下:

    upstream [服务器组名称]{
      hash $request_uri;
      server [IP地址]:[端口号] weight=2;
      server [IP地址]:[端口号];
      ....
    }
    

    注意:1.需要安装第三方插件;2.uri,是i,不是小写的L。

    负载均衡简单实例

    1.环境:

    • 两台tomcat服务器,端口分别为8888,8889,每个tomcat webapps文件夹下都有一个edu文件夹,里面有个a.html文件,里面写上tomcat对应的端口
    • 一台nginx服务器,作负载均衡,负载均衡策略使用缺省,轮询策略

    2.目的:
    我们要访问nginx服务器,将请求依次转发到每个tomcat服务器

    3.nginx配置文件

    在这里插入图片描述

    4.效果:
    开启tomcat服务器,开启nginx服务器
    在这里插入图片描述

    在这里插入图片描述

    访问nginx服务器
    在这里插入图片描述

    展开全文
  • youxi1 192.168.5.101 负载均衡器 youxi2 192.168.5.102 主机1 youxi3 192.168.5.103 主机2 (2).Nginx负载均衡策略  nginx的负载均衡用于upstream模板定义的后端服务器列表中选取一台服务器接收用户的...

    (1).实验环境

    youxi1  192.168.5.101  负载均衡器

    youxi2  192.168.5.102  主机1

    youxi3  192.168.5.103  主机2

    (2).Nginx负载均衡策略

      nginx的负载均衡用于upstream模板定义的后端服务器列表中选取一台服务器接收用户的请求。一个基本的upstream模块如下:

    1

    2

    3

    4

    5

    upstream [服务器组名称]{

      server [IP地址]:[端口号];

      server [IP地址]:[端口号];

      ....

    }

      在upstream模块配置完成后,要让指定的访问反向代理到服务器列表,格式如下:

    1

    2

    3

    4

    location ~ .*$ {

      index index.jsp index.html;

      proxy_pass http://[服务器组名称];

    }

      扩展:nginx的location配置规则:http://outofmemory.cn/code-snippet/742/nginx-location-configuration-xiangxi-explain

      这样就完成了最基本的负载均衡,但是这并不能满足实际需求。目前Nginx的upstream模块支持6种方式的负载均衡策略(算法):轮询(默认方式)、weight(权重方式)、ip_hash(依据ip分配方式)、least_conn(最少连接方式)、fair(第三方提供的响应时间方式)、url_hash(第三方通过的依据URL分配方式)。

     1)轮询

      最基本的配置方法,是upstream模块默认的负载均衡策略。每个请求会按时间顺序平均分配到不同的后端服务器。有如下参数:

    fail_timeout与max_fails结合使用
    max_fails在fail_timeout参数设置的时间内最大失败次数。如果在这个时间内,所有该服务器的请求都失败了,那么认为该服务器停机
    fail_time服务器被认为停机的时长,默认10s(被认为停机的服务器尝试间隔?)
    backup标记该服务器为备用服务器。当主服务器停止时,请求会被发送到它这里
    down标记服务器永久停机

      注意:1.down标记的服务器会自动剔除;2.缺省就是轮询;3.此策略适合服务器配置无状态且短平块的服务使用

     2)weight

      权重方式,在轮询策略的基础上指定轮询的几率。也可以认为是在轮询的基础上新增了一个weight的参数,此参数指定轮询的几率,值为number。upstream模块配置模板如下:

    1

    2

    3

    4

    5

    upstream [服务器组名称]{

      server [IP地址]:[端口号] weight=2;

      server [IP地址]:[端口号];

      ....

    }

      在该例子中,没有weight参数的服务器默认为1,weight的数值与访问比例成正比,所有weight值的总和为一个循环单位,服务器自身的weight值为循环单位内的轮询次数。

      注意:1.权重越高分配到的请求越多;2.此策略可以和least_conn策略、iphash策略结合使用;3.此策略比较适合服务器硬件配置差距较大的情况。

     3)ip_hash

      依据ip分配方式,指定负载均衡器按照基于客户端IP的分配方式,这个方法确保了相同的客户端请求一致发送到相同的服务器,以保证session会话。这样每个访客都固定访问一个后端服务器,可以解决session不能跨服务器的问题。upstream模块配置模板如下:

    1

    2

    3

    4

    5

    6

    upstream [服务器组名称]{

      ip_hash;

      server [IP地址]:[端口号] weight=2;

      server [IP地址]:[端口号];

      ....

    }

      注意:1.nginx1.3.1之前的版本不能在ip_hash中使用权重(weight);2..ip_hash不能与backup同时使用;3.此策略适合有状态服务的程序,比如session;4.当有服务器需要剔除,必须手动down掉。

     4)least_conn

      最少连接方式,把请求发给链接数最少的后端服务器。轮询是把请求平均分配给各个后端,使它们的负载大致相同。但是,有些请求占用的时间很长,会导致其所在的后端负载较高。这种情况下,least_conn这种方式就可以达到更好的负载均衡效果。upstream模块配置模板如下:

    1

    2

    3

    4

    5

    6

    upstream [服务器组名称]{

      least_conn;

      server [IP地址]:[端口号] weight=2;

      server [IP地址]:[端口号];

      ....

    }

      注意:此策略适合请求处理时间长短不一造成的服务器过载情况。

     5)fair

      响应时间方式,按照服务器端的响应时间来分配请求,响应时间短的优先分配。upstream模块配置模板如下:

    1

    2

    3

    4

    5

    6

    upstream [服务器组名称]{

      server [IP地址]:[端口号] weight=2;

      server [IP地址]:[端口号];

      ....

      fair;

    }

      注意:需要安装第三方插件。

     6)url_hash

      url分配方式,按访问url的hash结果来分配请求,使每个url定向到同一个后端服务器,要配合缓存命中来使用。同一个资源多次请求可能会到达不同的服务器上,导致不必要的多次下载,缓存命中率不高,以及一些资源时间的浪费。而使用url_hash,可以使得同一个url(也就是同一个资源请求)会到达同一台服务器,一旦缓存住了资源,再次收到请求,就可以在缓存中读取。upstream模块配置模板如下:

    1

    2

    3

    4

    5

    6

    upstream [服务器组名称]{

      hash $request_uri;

      server [IP地址]:[端口号] weight=2;

      server [IP地址]:[端口号];

      ....

    }

      注意:1.需要安装第三方插件;2.uri,是i,不是小写的L。

    (3).实验

     1)在负载均衡器youxi1上编译安装nginx

      安装nginx的依赖包

    1

    [root@youxi1 ~]# yum -y install gcc gcc-c++ autoconf automake zlib zlib-devel openssl openssl-devel pcre pcre-devel

      上传nginx源码包nginx-1.14.1.tar.gz,解压安装

    1

    2

    3

    4

    5

    6

    [root@youxi1 ~]# tar xf nginx-1.14.1.tar.gz -C /usr/local/src/

    [root@youxi1 ~]# cd /usr/local/src/nginx-1.14.1/

    [root@youxi1 nginx-1.14.1]# ./configure --prefix=/usr/local/nginx  --with-http_dav_module --with-http_stub_status_module --with-http_addition_module --with-http_sub_module --with-http_flv_module  --with-http_mp4_module

    [root@youxi1 nginx-1.14.1]# make && make install

    [root@youxi1 nginx-1.14.1]# echo $?

    0

      参数说明:

        --with-http_dav_module,启用ngx_http_dav_module支持(增加PUT,DELETE,MKCOL:创建集合,COPY和MOVE方法)默认情况下为关闭,需编译开启;

        --with-http_stub_status_module,启用ngx_http_stub_status_module支持(获取nginx自上次启动以来的工作状态);

        --with-http_addition_module,启用ngx_http_addition_module支持(作为一个输出过滤器,支持不完全缓冲,分部分响应请求);

        --with-http_sub_module,启用ngx_http_sub_module支持(允许用一些其他文本替换nginx响应中的一些文本);

        --with-http_flv_module,启用ngx_http_flv_module支持(提供寻求内存使用基于时间的偏移量文件);

        --with-http_mp4_module,启用对mp4文件支持(提供寻求内存使用基于时间的偏移量文件)。

      生成nginx用户

    1

    [root@youxi1 nginx-1.14.1]# useradd -M -s /sbin/nologin nginx

      启动并添加开机自启

    1

    2

    3

    [root@youxi1 nginx-1.14.1]# /usr/local/nginx/sbin/nginx

    [root@youxi1 nginx-1.14.1]# echo /usr/local/nginx/sbin/nginx >> /etc/rc.local

    [root@youxi1 nginx-1.14.1]# chmod +x /etc/rc.d/rc.local

      如果防火墙是开启的记得添加端口号

    1

    2

    3

    [root@youxi1 nginx-1.14.1]# firewall-cmd --permanent --zone=public --add-port=80/tcp && firewall-cmd --reload

    success

    success

      查看下界面,看看nginx是否正常安装

      测试完成后,修改nginx的配置文件,最后重启nginx

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    [root@youxi1 nginx-1.14.1]# cp /usr/local/nginx/conf/nginx.conf{,.bak}

    [root@youxi1 nginx-1.14.1]# vim /usr/local/nginx/conf/nginx.conf

    user  nginx;  //第2行

    location / {  //第43行起

      root html;

      index index.html index.htm;

      if ($request_uri ~* \.html$){

        proxy_pass http://htmlservers;

      }

      if ($request_uri ~* \.php$){

        proxy_pass http://phpservers;

      }

      proxy_pass http://picservers;

    }

    upstream htmlservers {  //在http模块下,server模块平级处添加

      server 192.168.5.102:80;

      server 192.168.5.103:80;

    }

    upstream phpservers{

      server 192.168.5.102:80;

      server 192.168.5.103:80;

    }

    upstream picservers {

      server 192.168.5.102:80;

      server 192.168.5.103:80;

    }

    [root@youxi1 nginx-1.14.1]# /usr/local/nginx/sbin/nginx -s reload

     2)在youxi2和youxi3上布置网页程序

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    [root@youxi2 ~]# yum -y install httpd

    [root@youxi2 ~]# echo youxi2 > /var/www/html/index.html

    [root@youxi2 ~]# echo youxi2.php > /var/www/html/index.php

    [root@youxi2 ~]# echo youxi2.other > /var/www/html/index.jsp

    [root@youxi2 ~]# systemctl start httpd.service

     

    [root@youxi3 ~]# yum -y install httpd

    [root@youxi3 ~]# echo youxi3 > /var/www/html/index.html

    [root@youxi3 ~]# echo youxi3.php > /var/www/html/index.php

    [root@youxi3 ~]# echo youxi3.other > /var/www/html/index.jsp

    [root@youxi3 ~]# systemctl start httpd.service

      如果防火墙是开启的,记得添加端口号

    1

    2

    3

    4

    5

    6

    7

    [root@youxi2 ~]# firewall-cmd --permanent --zone=public --add-port=80/tcp && firewall-cmd --reload

    success

    success

     

    [root@youxi3 ~]# firewall-cmd --permanent --zone=public --add-port=80/tcp && firewall-cmd --reload

    success

    success

     3)测试

      首先测试html页面

      接着测试php页面

      最后测试其他页面

    展开全文
  • 但存在不足(二)、Haproxy是一款可提供高可用性、负载均衡、及基于TCP和HTTP应用的代理的软件(三)、Haproxy调度算法原理三、实验搭建(1)Haproxy 服务器部署(2)节点服务器的部署(三)、测试 Web群集四、日志...

    一、常见的Web集群调度器

    目前常见的Web集群调度器分为软件和硬件
    软件通常使用开源的LVS、Haproxy、Nginx
    硬件一般使用比较多的是F5,也有很多人使用国内的一些产品,如梭子鱼、绿盟等

    二、Haproxy应用分析

    (一)、LVS在企业应用中抗负载能力很强,但存在不足

    LVS不支持正则处理,不能实现动静分离
    对于大型网站,LVS的实施配置复杂,维护成本相对较高

    (二)、Haproxy是一款可提供高可用性、负载均衡、及基于TCP和HTTP应用的代理的软件

    适用于负载大的Web站点
    运行在硬件上可支持数以万计的并发连接的连接请求

    (三)、Haproxy调度算法原理

    Haproxy支持多种调度算法,最常用的有三种

    1、RR(Round Robin)
    RR算法是最简单最常用的一种算法,即轮询调度
    理解举例
    有三个节点A、B、C
    第一个用户访问会被指派到节点A
    第二个用户访问会被指派到节点B
    第三个用户访问会被指派到节点C
    第四个用户访问继续指派到节点A,轮询分配访问请求实现负载均衡效果

    2、LC(Least Connections)

    最小连接数算法,根据后端的节点连接数大小动态分配前端请求
    理解举例
    有三个节点A、B、C,各节点的连接数分别为A:4、B:5、C:6
    第一个用户连接请求,会被指派到 A上,连接数变为A:5、B:5、C:6
    第二个用户请求会继续分配到A上,连接数变为A:6、B:5、C:6;再有新的请求会分配给B,每次将新的请求指派给连接数最小的客户端
    由于实际情况下A、B、C的连接数会动态释放,很难会出现一样连接数的情况
    此算法相比较rr算法有很大改进,是目前用到比较多的一种算法

    3、 SH(Source Hashing)
    基于来源访问调度算法,用于一些有Session会话记录在服务器端的场景,可以基于来源的IP、Cookie等做集群调度
    理解举例
    有三个节点A、B、C,第一个用户第一次访问被指派到了A ,第二个用户第一次访问被指派到了B
    当第一个用户第二次访问时会被继续指派到A,第二个用户第二次访问时依旧会被指派到B,只要负载均衡调度器不重启,第一个用户访问都会被指派到A,第二个用户访问都会被指派到B,实现集群的调度
    此调度算法好处是实现会话保持,但某些IP访问量非常大时会引起负载不均衡,部分节点访问量超大,影响业务使用

    三、实验搭建

    服务器IP
    Haproxy192.168.90.10
    Nginx1192.168.90.20
    Nginx2192.168.90.30

    | centered 文本居中 | right-aligned 文本居右 |

    (1)Haproxy 服务器部署

    1、关闭防火墙,将安装Haproxy所需软件包传到/opt目录下

    systemctl stop firewalld
    setenforce 
    

    2、编译安装 Haproxy

    yum install -y pcre-devel bzip2-devel gcc gcc-c++ make
    
    tar zxvf haproxy-1.5.19.tar.gz
    cd haproxy-1.5.19/
    make TARGET=linux2628 ARCH=x86_64
    make install
    

    3、Haproxy服务器配置

    mkdir /etc/haproxy
    cp examples/haproxy.cfg /etc/haproxy/
    
    cd /etc/haproxy/
    vim haproxy.cfg
    
    global
    --4~5行--修改,配置日志记录,local0为日志设备,默认存放到系统日志
    		log /dev/log   local0 info		
            log /dev/log   local0 notice
            #log loghost    local0 info
            maxconn 4096					#最大连接数,需考虑ulimit-n限制
    --8行--注释,chroot运行路径,为该服务自设置的根目录,一般需将此行注释掉
            #chroot /usr/share/haproxy
            uid 99							#用户UID
            gid 99							#用户GID
            daemon							#守护进程模式
    
    defaults        
    		log     global					#定义日志为global配置中的日志定义
            mode    http					#模式为http
            option  httplog					#采用http日志格式记录日志
            option  dontlognull				#不记录健康检查日志信息
            retries 3						#检查节点服务器失败次数,连续达到三次失败,则认为节点不可用
            redispatch						#当服务器负载很高时,自动结束当前队列处理比较久的连接
            maxconn 2000					#最大连接数
            contimeout      5000			#连接超时时间
            clitimeout      50000			#客户端超时时间
            srvtimeout      50000			#服务器超时时间
    
    --删除下面所有listen项--,添加
    listen  webcluster 0.0.0.0:80			#定义一个名为appli4-backup的应用
            option httpchk GET /test.html	#检查服务器的test.html文件
            balance roundrobin				#负载均衡调度算法使用轮询算法roundrobin
            server inst1 192.168.90.100:80 check inter 2000 fall 3		#定义在线节点
            server inst2 192.168.90.101:80 check inter 2000 fall 3
    

    4、添加haproxy 系统服务

    cp /opt/haproxy-1.5.19/examples/haproxy.init /etc/init.d/haproxy
    chmod +x haproxy
    chkconfig --add /etc/init.d/haproxy
    ln -s /usr/local/sbin/haproxy /usr/sbin/haproxy
    
    service haproxy start	或	/etc/init.d/haproxy start
    
    (2)节点服务器的部署
    systemctl stop firewalld
    setenforce 0
    
    yum install -y pcre-devel zlib-devel gcc gcc-c++ make 
    
    useradd -M -s /sbin/nologin nginx
    
    cd /opt
    tar zxvf nginx-1.12.0.tar.gz -C /opt/
    ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx
    
    make && make install
    
    --192.168.90.20---
    echo "this is test111111" > /usr/local/nginx/html/test.html
    
    --192.168.90.30---
    echo "this is test222222" > /usr/local/nginx/html/test.html
    
    ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
    
    nginx      #启动nginx 服务
    
    (三)、测试 Web群集

    在客户端使用浏览器打开 http://192.168.90.10/test.html ,不断刷新浏览器测试负载均衡效果

    四、日志定义

    默认haproxy的日志是输出到系统的syslog中,查看起来不是非常方便,为了更好的管理haproxy的日志,我们在生产环境中一般单独定义出来。需要将haproxy的info及notice日志分别记录到不同的日志文件中。

    vim /etc/haproxy/haproxy.cfg
    global
    	log /dev/log local0 info
    	log /dev/log local0 notice
    
    service haproxy restart
    

    需要修改rsyslog配置,为了便于管理。将haproxy相关的配置独立定义到haproxy.conf,并放到/etc/rsyslog.d/下,rsyslog启动时会自动加载此目录下的所有配置文件。

    vim /etc/rsyslog.d/haproxy.conf
    
    if ($programname == 'haproxy' and $syslogseverity-text == 'info')
    then -/var/log/haproxy/haproxy-info.log
    &~
    if ($programname == 'haproxy' and $syslogseverity-text == 'notice')
    then -/var/log/haproxy/haproxy-notice.log
    &~
    

    说明:
    这部分配置是将haproxy的info日志记录到/var/log/haproxy/haproxy-info.log下,将notice日志记录到/var/log/haproxy/haproxy-notice.log下。“&~”表示当日志写入到日志文件后,rsyslog停止处理这个信息。

    systemctl restart rsyslog.service
    
    tail -f/var/log/haproxy/haproxy-info.log		#查看haproxy的访问请求日志信息
    
    展开全文
  • Nginx搭建负载均衡实现高并发

    千次阅读 多人点赞 2021-03-08 16:06:53
    有的时候我们部署的项目并发人数一旦增加,单体项目很容易挂掉,不是我们的服务器配置不够,因为每一个 tomcat 的能力是有限的,导致了拖慢访问速度,这个时候我们就可以使用负载均衡 1、负载均衡简介   &...

    有的时候我们部署的项目并发人数一旦增加,单体项目很容易挂掉,不是我们的服务器配置不够,因为每一个 tomcat 的能力是有限的,导致了拖慢访问速度,这个时候我们就可以使用负载均衡

    1、负载均衡简介

           负载均衡建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。
           负载均衡(Load Balance)其意思就是分摊到多个操作单元上进行执行,例如Web服务器、FTP服务器、企业关键应用服务器和其它关键任务服务器等,从而共同完成工作任务。

    2、原始配置文件如下

    worker_processes  1;
    
    events {
        worker_connections  1024;
    }
    
    http {
        include       mime.types;
        default_type  application/octet-stream;
    
        sendfile        on;
    	
        keepalive_timeout  65;
    
        server {
            listen       80;
            server_name  localhost;
    
            location / {
                root   html;
                index  index.html index.htm;
            }
    
            error_page   500 502 503 504  /50x.html;
            location = /50x.html {
                root   html;
            }
        }
    
    }
    

    3、搭建负载均衡

    worker_processes  1;
    
    events {
        worker_connections  1024;
    }
    
    http {
    
    	# 三台服务主机
    	upstream test {
    		server 127.0.0.1:8081;
    		server 127.0.0.1:8082;
    		server 127.0.0.1:8083;
    	}
    	
        include       mime.types;
        default_type  application/octet-stream;
    
        sendfile        on;
    	
        keepalive_timeout  65;
    
        server {
            listen       80;
            server_name  localhost;
    
            location / {
                root   html;
                index  index.html index.htm;
            }
    		
    		# 代理转发
    		location /test {
    		   proxy_pass http://test;
            }
    
            error_page   500 502 503 504  /50x.html;
            location = /50x.html {
                root   html;
            }
        }
    
    }
    

    到 sbin 目录,执行命令重启 nginx

    ./nginx -s reload
    

    这里我们使用 upstream 搭建了三台服务主机参与负载均衡,对应端口分别为:8081,8082,8083,这里还可以配置 weight 参数,权重表示谁的优先级较高,都不配置的话,表示拥有相同的权重,最后使用代理转发,分别调用这三台服务主机,我们服务的响应速度就很快了

    如您在阅读中发现不足,欢迎留言!!!

    展开全文
  • 搭建集群负载均衡系统负载均衡集群是在应用服务器高负载的情况下,由多台节点提供可伸缩的,高负载的服务器组以保证对外提供良好的服务响应;而LVS就是实现这一功能的技术.实际上LVS是一种Linux操作系统上基于IP层的...
  • 三、IIS中负载均衡解决方案-WFF(WebFarmFramework) 1:web农场简介 WFF是IIS的一个拓展程序,是IIS中负载均衡的解决方案,能够帮助我们轻松实现Web网站的高性能、高可用性,用来在Web服务器群上提供和管理系统,...
  • apt-get install alien --安装sudo--(如果在root用户下操作,可以不需要进行安装) apt-get install sudo -----------------------------基础功能已经搭建完成------------------------------------------ -------...
  • Nginx搭建负载均衡集群 (1).实验环境 jackie001 192.168.5.101 负载均衡器 jackie002 192.168.5.102 主机1 jackie003 192.168.5.103 主机2 (2).Nginx负载均衡策略 nginx的负载均衡用于upstream模板定义的后端...
  • proxy_pass http://backend: 使用负载均衡 #++++++++++++++++官方解释完++++++++++++++++++++++ (在同一服务器,不同端口测试,)通过宝塔面板,编辑主服务器 http://111.231.223.47:39883 ngix配置项,在server...
  • 安装 一、虚拟机开启之后先固定IP vi /etc/sysconfig/...stats 本地CMD运行代码测试负载均衡是否搭建成功 mysql -h负载均衡搭建时固定的IP -u数据库账户 -p密码 -P配置的端口 -e "show variables like 'server_id'";
  • 本文不会详细介绍 nginx 的安装与配置,本文只是介绍负载均衡这一个内容 相关术语 仅仅是对本文而言,哈哈 节点:指一个应用服务器 应用服务器:后端 spring 应用、tomcat、nodejs server 等等 网关:如果你的...
  • 感觉已经很久没写过博客文档了,其实是这段时间一直在研究负载均衡和高可用,一直在搭,一直在搭,没搭过的人,真的不懂那种访问成功的喜悦 哈哈哈哈哈哈哈哈哈哈,反正开心呢,马不停蹄的写文档,真开心呀真开心~...
  • 游戏服务器高可用负载均衡 内容精选换一换公有云提供弹性公网IP(EIP)、NAT网关、弹性负载均衡(ELB)等方式连接公网。EIPEIP提供独立的公网IP资源,包括公网IP地址与公网出口带宽服务。可以与弹性云服务器、裸金属...
  • 操作系统:CentOS6.5_x64问题描述使用lvs实现ftp的负载均衡为了使模型足够简单,这里只实现了loadblance,HA并未实现,可以借助keepalived实现。具体实现hostA : 192.168.1.21hostB : 192.168.1.22hostC : 192.168....
  • 注意:这里比较坑的就是mysql-proxy一直没有更新导致版本太落后了,我在MySQL5.7.19中搭建负载均衡后有bug,所以这里我在windows中搭建了两个MySQL(好像是5.6或5.6以下的都可以搭建成功)服务器。还有就是可以使用...
  • 手把手搭建简易负载均衡集群

    千次阅读 2021-10-12 22:10:55
    学习了这系列的文章你将会自己搭建简单的负载均衡集群,了解负载均衡集群在高访问量的情况下充当的重要角色,可以有效的保护业务服务器稳定运行。 了解负载均衡负载均衡建立在现有网络结构之上,它提供了一种廉价...
  • 一、实验目的:负载均衡PHP应用二、逻辑构建:三、实验需要:4台虚拟机,一台作为客户端,一台作为VS,两台作为RS四、实验环境:VS的DIP要与RS的IP在同一个私网内,RS的默认网关为DIP;VS则要开启路由转发功能echo 1...
  • Nginx负载均衡搭建

    2021-01-21 17:13:32
    最近公司项目有用到负载均衡,所以就想着自己也搭建一个。因为负载均衡需要用到两台及以上的服务器,就在本地弄了两个虚拟机。 一、负载均衡是什么? 负载均衡是 Nginx常用的一个功能,当一台服务器的单位时间内的...
  • 1.什么是负载均衡首先我们来看看维基百科对负载均衡的说明:负载平衡(Load balancing)是一种计算机技术,用来在多个计算机(计算机集群)、网络连接、CPU、磁盘驱动器或其他资源中...
  • 1.开三台服务器, 第一台作为nginx负载均衡转发器,ip地址: 192.168.241.198 第二台作为web页面服务器(nginx)
  • 后端负载均衡nginx端口:8004 前端项目打包test-vue.zip分别部署三个nginx,端口分别为:8005、8006、8007 前端负载均衡nginx端口:80 开发需要端口,下面我们进行搭建 1、部署后端jar项目 Linux 创建/root/work...
  • 负载均衡部署1.安装Nginx服务2.修改Nginx配置文件,配置反向代理负载均衡3.启动Nginx服务4.部署Keepalived服务5.修改Keepalived配置文件7.创建Nginx状态检查脚本8.启动Keepalived服务9.修改两个Node节点上的配置文件...
  • 当自己的web网站访问的人越来越多,一台服务器无法满足现有的业务时,此时会想到多加几台服务器来实现负载均衡。 网站的访问量越来越大,服务器的服务模式也得进行相应的升级,怎样将同一个域名的访问分散到两台或更...
  • 本文介绍如何在nginx服务器上实现均衡服务,从而缓解部分高并发问题。
  • 负载均衡搭建集群

    2020-12-24 18:52:32
    应用服务器) 负载均衡集群技术的体现: 负载均衡技术类型:4层 7层 负载均衡实现方式: 硬件负载均衡:F5 深信服 软件负载均衡:LVS haproxy nginx 四层负载均衡:在三层负载均衡的基础上面,用ip+port接受请求,再...
  • 为什么网站需要负载均衡,站点流量大了之后,单一一台服务器往往无法承受住海量的用户,从而导致站点卡顿,或者服务掉线等情况。而负载均衡能够有效的解决这一问题。通过一台主服务器和N个副服务器可以将网站的流量...
  • 用两台云服务器搭建一个负载均衡 内容精选换一换弹性负载均衡(Elastic Load Balance ,以下简称ELB)通过将访问流量自动分发到多台弹性云服务器,扩展应用系统对外的服务能力,实现更高水平的应用程序容错性能。...
  • # 第四步:安装nginx配置负载均衡 这里列出一个参考配置:主要的配置参数就是利用nginx的upstream 和 proxy_pass 这两个。这里upstream 下的名称admin.wx.ndszgb.com和wx.wx.ndszgb.com 可以自定义任何的名字。不...
  • 我们搭建一个三台rabbitMq组成的集群 拉取镜像 docker pull rabbitmq:3.7-management 创建目录,给挂载卷做好准备 mkdir rabbitmqcluster cd rabbitmqcluster/ mkdir rabbitmq01 rabbitmq02 rabbitmq03 启动节点 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 98,323
精华内容 39,329
关键字:

搭建负载均衡

友情链接: BM3D-Net-master.zip