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站点:
相关推荐
HAProxy 特别适用于那些负载特大的 web 站点,这些站点通常又需要会话保持或七层处理。 HAProxy 的特点是: 1. 支持虚拟主机。 2. 能够补充 Nginx 的一些缺点,比如支持 Session 的保持,Cookie 的引导;同时支持...
它可以支持虚拟主机,对于那些需要会话保持或者七层处理的大规模Web站点来说尤其适用。据官方资料表明,Haproxy在理想的条件下能够支持高达10G的并发连接。 Haproxy的核心优势在于其强大的可扩展性和高度的安全性。...
本文将详细讲解如何使用Squid进行反向代理配置,通过提供的文件名,我们可以看到有四种不同的配置场景:单站点代理、多站点代理、以及两种实现Web站点负载均衡的方法(sibling形式和常规方式)。 1. **单站点代理**...
- **负载均衡技术**:如使用HAProxy或Nginx实现服务器集群间的负载分担。 - **缓存加速**:利用Varnish或Memcached提升站点访问速度。 - **安全性加固**:防火墙配置、安全策略设定、DDoS防护措施。 #### 二、LDAP...
#### 负载均衡技术建设高负载站点 - **硬件负载均衡器**:如F5、Citrix等,适用于高可用性和安全性要求高的场景。 - **软件负载均衡器**:如HAProxy、Nginx,成本低,灵活性高,适合大部分应用场景。 - **云服务...
- **软件负载均衡器**:如HAProxy、Nginx等。 - **云服务提供商提供的负载均衡服务**:如AWS ELB、阿里云SLB等。 - **负载均衡策略**: - **轮询**:简单易行,适合均匀分布请求。 - **最少连接**:将新连接分配...
常见的负载均衡策略包括轮询、最少连接数、哈希等,而负载均衡器如HAProxy、Nginx等则提供了灵活的配置选项和强大的性能。 ### 4. **数据库优化与架构** - **Mysql切分与InnoDB引擎**:数据库优化是提升服务器性能...
Nginx在高并发和高负载的场景下,可作为Web服务器使用,而在需要做反向代理时,也常用来作为负载均衡服务器。以下详细知识点覆盖了Nginx的基础使用、配置、优化和安全性维护。 1. Nginx安装:安装Nginx需要准备必要...
后端web服务器使用Nginx+Php作为站点,通过HAproxy做负载均衡,Keepalived做高可用说明:关闭防火墙、selinux、时间同步等host绑定参考地址1)Master上软件安装2)Minion上软件安装并配置说明:该案例在prod环境下...
文档可能介绍了各种负载均衡算法,如轮询、最少连接数、IP哈希等,以及硬件和软件负载均衡器的比较,例如Nginx、HAProxy等。 4. **大型Web2.0站点构建技术初探**:Web2.0的特性,如用户生成内容和社交网络,对系统...
- **软件负载均衡器**:如Nginx、HAProxy等,可以通过软件实现灵活的负载均衡策略。 - **DNS负载均衡**:通过DNS解析机制将用户请求分发到不同的服务器上。 **应用场景:** - **高并发访问**:对于需要处理大量并发...
此外,还利用LVS和HAproxy进行负载均衡。 - **中期阶段(2011-2014年)**:随着业务量的增长和技术的进步,阿里云CDN系统逐渐引入了更多高级技术和组件,如增加服务器节点数量至230台,并采用了Squid缓存服务器和...