1. haproxy介绍

Haproxy是一个开源的高性能的反向代理或者说是负载均衡服务软件之一,它支持双机热备、虚拟主机、基于TCP和HTTP应用代理等功能。其配置简单,而且拥有很好的对服务器节点的健康检查功能(相当于keepalived健康检查),当其代理的后端服务器出现故障时,Haproxy会自动的将该故障服务器摘除,当服务器的故障恢复后Haproxy还会自动将RS服务器假如。

Haproxy特别使用与那些访问量很大。但又需要会话保持或七层应用的业务。Haproxy运行在普通的服务器硬件上,仅仅进行简单的优化就可以支持数以万计的并发连接。并且它的运行模式使得它可以很简单安全的整合到各种网站的架构中,同时使得应用服务器不会暴露到网络中。

haproxy与各负载均衡器的区别

与nginx:同样工作在用户空间,nginx是一款轻量级,能实现缓存、webserver、邮件、负载均衡等功能,但nginx的许多功能都需要第三方的模块,而haproxy的转发能力比nginx有更强更灵活的定制性,可以运用splice实现0复制的转发,并且有更直观的图形化管理界面,不过通用性不如nginx,并无缓存功能

与lvs:lvs是工作在内核空间上直接转发的,无缓存功能

2 查看内核版本 uname -r 并编译:make TARGET=linux26 ARCH=x86_64 PREFIX=/usr/local/haproxy

备注:TARGET表示内核版本,ARCH表示位数,PREFIX表示安装路径

(也可以直接修改makefile文件,如果系统不匹配,直接geneal通用类型)

haproxy管理平台开发(运维攻城狮之Haproxy介绍与配置说明)(1)

3. 开始安装:make install PREFIX=/usr/local/haproxy

haproxy管理平台开发(运维攻城狮之Haproxy介绍与配置说明)(2)

4.ll /usr/local可以看到没有配置文件,此时我们需要手动写并配置

haproxy管理平台开发(运维攻城狮之Haproxy介绍与配置说明)(3)

5.

haproxy.cfg里面需要配置的内容如下图,需要手动写入

haproxy配置分为五部分,分别如下:

1 global: (全局配置主要用于设定义全局参数,属于进程级的配置,通常和操作系统配置有关)

2 default : (配置默认参数,这些参数可以被用到frontend,backend,Listen组件)

在此部分中设置的参数值,默认会自动引用到下面的frontend、backend、listen部分中,因引,某些参数属于公用的配置,只需要在defaults部分添加一次即可。而如果frontend、backend、listen部分也配置了与defaults部分一样的参数,Defaults部分参数对应的值自动被覆盖。

3 frontend:( 接收请求的前端虚拟节点,Frontend可以更加规则直接指定具体使用后端的backend)

frontend是在haproxy 1.3版本以后才引入的一个组件,同时引入的还有backend组件。通过引入这些组件,在很大程度上简化了haproxy配置文件的复杂性。forntend可以根据ACL规则直接指定要使用的后端backend。

4 backend : (后端服务集群的配置,真实服务器,一个Backend对应一个或者多个实体服务器)

在HAProxy1.3版本之前,HAProxy的所有配置选项都在这个部分中设置。为了保持兼容性,haproxy新的版本依然保留了listen组件配置试。两种配置方式任选一中。

5 Listen : (Fronted和backend的组合体) 比如haproxy实例状态监控部分配置

haproxy管理平台开发(运维攻城狮之Haproxy介绍与配置说明)(4)

haproxy管理平台开发(运维攻城狮之Haproxy介绍与配置说明)(5)

6 启动服务 /usr/local/haproxy/sbin/haproxy -f /usr/local/haproxy/etc/haproxy.cfg

,