`
gaojingsong
  • 浏览: 1196788 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

【haproxy配置web站点的负载均衡案例】

阅读更多

haproxy的配置文件分为四个部分:

        全局配置:

        global:  全局配置段

        代理配置:

        default: 默认配置----->所有在backend、frontend、linsten中相同内容可以在此定义;

        frontend:前段配置----->定义前端套接字,接受客户端请求;

        backend: 后端配置----->定义后端分配规则,与后端服务器交互;

        listen:  绑定配置----->直接将指定的客户端与后端特定服务器绑定到一起;

 

其中Global参数如下:

    log global  

    mode http               #默认的模式mode { tcp|http|health },tcp是4层,http是7层,health只会返回OK  

    option  httplog         #日志类别,采用httplog  

    option  dontlognull     #不记录健康检查日志信息  

    retries 2               #两次连接失败就认为是服务器不可用,也可以通过后面设置  

    option  forwardfor      #如果后端服务器需要获得客户端真实ip需要配置的参数,可以从Http Header中获得客户端ip  

    option  httpclose       #每次请求完毕后主动关闭http通道,haproxy不支持keep-alive,只能模拟这种模式的实现  

    #option redispatch      #当serverId对应的服务器挂掉后,强制定向到其他健康的服务器,以后将不支持  

    option abortonclose     #当服务器负载很高的时候,自动结束掉当前队列处理比较久的链接  

    maxconn 4096            #默认的最大连接数  

    timeout connect  5000ms #连接超时  

    timeout client 30000ms  #客户端超时  

    timeout server 30000ms  #服务器超时  

    #timeout check 2000     #心跳检测超时  

    #timeout http-keep-alive10s   #默认持久连接超时时间  

    #timeout http-request   10s   #默认http请求超时时间  

    #timeoutqueue          1m     #默认队列超时时间  

    balance roundrobin     #设置默认负载均衡方式,轮询方式  

    #balance source        # 设置默认负载均衡方式,类似于nginx的ip_hash  

    #balnace leastconn     #设置默认负载均衡方式,最小连接数  

[root@master opt]# cd haproxy-1.5.0

[root@master haproxy-1.5.0]# cp examples/haproxy.cfg  web_haproxy.cfg 

[root@master haproxy-1.5.0]# ls

CHANGELOG  contrib  doc  ebtree  examples  haproxy  haproxy.cfg  haproxy-systemd-wrapper  include  LICENSE  Makefile  README  

 

ROADMAP  src  SUBVERS  tests  VERDATE  VERSION

[root@master haproxy-1.5.0]# cat  web_haproxy.cfg 

# this config needs haproxy-1.1.28 or haproxy-1.2.1

global

        log 127.0.0.1   local0

        log 127.0.0.1   local1 notice

        #log loghost    local0 info

        maxconn 4096

        #chroot /usr/share/haproxy

        uid 99

        gid 99

        daemon

        #debug

        #quiet

defaults

        log     global

        mode    http

        option  httplog

        option  dontlognull

        retries 3

        redispatch

        maxconn 2000

        contimeout      5000

        clitimeout      50000

        srvtimeout      50000

 

listen  appli1-rewrite 0.0.0.0:10001

        cookie  SERVERID rewrite

        balance roundrobin

        server  app1_1 192.168.1.104:8080 cookie app1inst1 check inter 2000 rise 2 fall 5

        server  app1_2 192.168.1.104:9990 cookie app1inst2 check inter 2000 rise 2 fall 5

        

       stats uri /haproxy-stats

       stats refresh 10s

       monitor-uri /haproxy_test

[root@master haproxy-1.5.0]# ps -ef |grep haproxy

502      17871     1  0 14:16 ?        00:00:00 haproxy -f web_haproxy.cfg

root     18030  3606  0 14:38 pts/0    00:00:00 grep haproxy

[root@master haproxy-1.5.0]# kill -9 502  -->502类似用户名root

[root@master haproxy-1.5.0]# 

[root@master haproxy-1.5.0]# 

[root@master haproxy-1.5.0]# 

[root@master haproxy-1.5.0]# ps -ef |grep haproxy

502      17871     1  0 14:16 ?        00:00:00 haproxy -f web_haproxy.cfg

root     18034  3606  0 14:38 pts/0    00:00:00 grep haproxy

[root@master haproxy-1.5.0]# kill -9 17871

[root@master haproxy-1.5.0]# ps -ef |grep haproxy

root     18038  3606  0 14:38 pts/0    00:00:00 grep haproxy



 

[root@master haproxy-1.5.0]# haproxy -f web_haproxy.cfg 

[WARNING] 354/143858 (18039) : parsing [web_haproxy.cfg:19]: keyword 'redispatch' is deprecated in favor of 'option redispatch', and will not be supported by future versions.

[WARNING] 354/143858 (18039) : parsing [web_haproxy.cfg:21] : the 'contimeout' directive is now deprecated in favor of 'timeout connect', and will not be supported in future versions.

[WARNING] 354/143858 (18039) : parsing [web_haproxy.cfg:22] : the 'clitimeout' directive is now deprecated in favor of 'timeout client', and will not be supported in future versions.

[WARNING] 354/143858 (18039) : parsing [web_haproxy.cfg:23] : the 'srvtimeout' directive is now deprecated in of 'timeout server', and will not be supported in future versions.

服务测试端口:

 

测试结果:

站点B的端口是9990
 站点A的端口是8080

 对外界提供的访问端口是10001:

此时访问的是B站点:

 此时访问的是A站点:



 

  • 描述: Slave
  • 大小: 98.6 KB
  • 大小: 85.7 KB
  • 大小: 37.2 KB
  • 大小: 113.3 KB
  • 大小: 102.8 KB
  • 大小: 105.4 KB
0
1
分享到:
评论

相关推荐

    基于haproxy构建负载均衡集群.docx

    HAProxy 特别适用于那些负载特大的 web 站点,这些站点通常又需要会话保持或七层处理。 HAProxy 的特点是: 1. 支持虚拟主机。 2. 能够补充 Nginx 的一些缺点,比如支持 Session 的保持,Cookie 的引导;同时支持...

    haproxy均衡负载

    它可以支持虚拟主机,对于那些需要会话保持或者七层处理的大规模Web站点来说尤其适用。据官方资料表明,Haproxy在理想的条件下能够支持高达10G的并发连接。 Haproxy的核心优势在于其强大的可扩展性和高度的安全性。...

    squid反向代理配置例子

    本文将详细讲解如何使用Squid进行反向代理配置,通过提供的文件名,我们可以看到有四种不同的配置场景:单站点代理、多站点代理、以及两种实现Web站点负载均衡的方法(sibling形式和常规方式)。 1. **单站点代理**...

    Linux 企业应用案例

    - **负载均衡技术**:如使用HAProxy或Nginx实现服务器集群间的负载分担。 - **缓存加速**:利用Varnish或Memcached提升站点访问速度。 - **安全性加固**:防火墙配置、安全策略设定、DDoS防护措施。 #### 二、LDAP...

    高性能高并发服务架构.doc

    #### 负载均衡技术建设高负载站点 - **硬件负载均衡器**:如F5、Citrix等,适用于高可用性和安全性要求高的场景。 - **软件负载均衡器**:如HAProxy、Nginx,成本低,灵活性高,适合大部分应用场景。 - **云服务...

    高性能高并发服务器架构

    - **软件负载均衡器**:如HAProxy、Nginx等。 - **云服务提供商提供的负载均衡服务**:如AWS ELB、阿里云SLB等。 - **负载均衡策略**: - **轮询**:简单易行,适合均匀分布请求。 - **最少连接**:将新连接分配...

    高性能高并发服务器架构.pdf

    常见的负载均衡策略包括轮询、最少连接数、哈希等,而负载均衡器如HAProxy、Nginx等则提供了灵活的配置选项和强大的性能。 ### 4. **数据库优化与架构** - **Mysql切分与InnoDB引擎**:数据库优化是提升服务器性能...

    Nginx教程从入门到精通--文字版.pdf

    Nginx在高并发和高负载的场景下,可作为Web服务器使用,而在需要做反向代理时,也常用来作为负载均衡服务器。以下详细知识点覆盖了Nginx的基础使用、配置、优化和安全性维护。 1. Nginx安装:安装Nginx需要准备必要...

    SaltStack--项目实战

    后端web服务器使用Nginx+Php作为站点,通过HAproxy做负载均衡,Keepalived做高可用说明:关闭防火墙、selinux、时间同步等host绑定参考地址1)Master上软件安装2)Minion上软件安装并配置说明:该案例在prod环境下...

    架构文章集合,搜索引擎,系统可伸缩性

    文档可能介绍了各种负载均衡算法,如轮询、最少连接数、IP哈希等,以及硬件和软件负载均衡器的比较,例如Nginx、HAProxy等。 4. **大型Web2.0站点构建技术初探**:Web2.0的特性,如用户生成内容和社交网络,对系统...

    2011年大型网站架构设计方案

    - **软件负载均衡器**:如Nginx、HAProxy等,可以通过软件实现灵活的负载均衡策略。 - **DNS负载均衡**:通过DNS解析机制将用户请求分发到不同的服务器上。 **应用场景:** - **高并发访问**:对于需要处理大量并发...

    2.2 Go在阿里云CDN系统的应用.pdf

    此外,还利用LVS和HAproxy进行负载均衡。 - **中期阶段(2011-2014年)**:随着业务量的增长和技术的进步,阿里云CDN系统逐渐引入了更多高级技术和组件,如增加服务器节点数量至230台,并采用了Squid缓存服务器和...

Global site tag (gtag.js) - Google Analytics