haproxy配置详解
2014-09-05 12:25
197 查看
一:haproxy简介:
HAProxy提供高可用性、负载均衡以及基于TCP和HTTP应用的代 理,支持虚拟主机,它是免费、快速并且可靠的一种解决方案。HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要会话保持或七层处理。HAProxy运行在当前的硬件上,完全可以支持数以万计的并发连接。并且它的运行模式使得它可以很简单安全的整合进您当前的架构中,
同时可以保护你的web服务器不被暴露到网络上。
搭建环境:
node1.magedu.com
eth0:172.16.2.1
eth1:192.168.10.10
node2.magedu.com eth0:192.168.10.11
node3.magedu.com eth0:192.168.10.12
注意:node2和node3的默认网关指向192.168.10.10命令为route add default gw 192.168.10.10
其次:在node1节点上要打开网卡之间的转发功能
安装haproxy:
首先在node1上安装haproxy,查看生成的文件列表
其次:分析haproxy的配置文件/etc/haproxy/haproxy.cfg
defaults
二:haproxy负载均衡实例:
修改配置文件/etc/haproxy/haproxy.cfg
然后重启haproxy即:service haproxy restart
也可以直接定义一个listen
listen和frontend,backend可以同时使用,基于不同端口的虚拟主机
启用状态:stats enable
进行访问172.16.2.1/haproxy?stats
haproxy的状态页面一般不允许别人随意查看,因此通过认证进行访问是必要的
基于页面的管理功能:
支持权重:
调度方法:
roundrobin 动态
static-rr 静态
source取决于hash-type
hash-type:map-based 静态调度
hash-type:consistent 动态调度
使用balance uri可以使访问固定到一个后端的服务器上
转发功能redir
只有当node2和node3都停掉时才使用backup
性能相关参数中maxconn的使用
三:haproxy中ACL的使用
定义ACL的语法格式为:
acl <aclname> <criterion> [flags] [operator] <value> ...
<aclname>:ACL名称,区分字符大小写,且其只能包含大小写字母、数字、-(连接线)、_(下划线)、.(点号)和:(冒号);haproxy中,acl可以重名,这可以把多个测试条件定义为一个共同的acl;
<criterion>:测试标准,即对什么信息发起测试;测试方式可以由[flags]指定的标志进行调整;而有些测试标准也可以需要为其在<value>之前指定一个操作符[operator];
[flags]:目前haproxy的acl支持的标志位有3个:
-i:不区分<value>中模式字符的大小写;
-f:从指定的文件中加载模式;
--:标志符的强制结束标记,在模式中的字符串像标记符时使用;
<value>:acl测试条件支持的值有以下四类:
整数或整数范围:如1024:65535表示从1024至65535;仅支持使用正整数(如果出现类似小数的标识,其为通常为版本测试),且支持使用的操作符有5个,分别为eq、ge、gt、le和lt;
字符串:支持使用“-i”以忽略字符大小写,支持使用“\”进行转义;如果在模式首部出现了-i,可以在其之前使用“--”标志位;
正则表达式:其机制类同字符串匹配;
IP地址及网络地址
同一个acl中可以指定多个测试条件,这些测试条件需要由逻辑操作符指定其关系。条件间的组合测试关系有三种:“与”(默认即为与操作)、“或”(使用“||”操作符)以及“非”(使用“!”操作符)。
用例:
用法五:
动静分离
HAProxy提供高可用性、负载均衡以及基于TCP和HTTP应用的代 理,支持虚拟主机,它是免费、快速并且可靠的一种解决方案。HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要会话保持或七层处理。HAProxy运行在当前的硬件上,完全可以支持数以万计的并发连接。并且它的运行模式使得它可以很简单安全的整合进您当前的架构中,
同时可以保护你的web服务器不被暴露到网络上。
搭建环境:
node1.magedu.com
eth0:172.16.2.1
eth1:192.168.10.10
node2.magedu.com eth0:192.168.10.11
node3.magedu.com eth0:192.168.10.12
注意:node2和node3的默认网关指向192.168.10.10命令为route add default gw 192.168.10.10
其次:在node1节点上要打开网卡之间的转发功能
首先在node1上安装haproxy,查看生成的文件列表
修改配置文件/etc/haproxy/haproxy.cfg
也可以直接定义一个listen
haproxy的状态页面一般不允许别人随意查看,因此通过认证进行访问是必要的
基于页面的管理功能:
支持权重:
roundrobin 动态
static-rr 静态
source取决于hash-type
hash-type:map-based 静态调度
hash-type:consistent 动态调度
性能相关参数中maxconn的使用
定义ACL的语法格式为:
acl <aclname> <criterion> [flags] [operator] <value> ...
<aclname>:ACL名称,区分字符大小写,且其只能包含大小写字母、数字、-(连接线)、_(下划线)、.(点号)和:(冒号);haproxy中,acl可以重名,这可以把多个测试条件定义为一个共同的acl;
<criterion>:测试标准,即对什么信息发起测试;测试方式可以由[flags]指定的标志进行调整;而有些测试标准也可以需要为其在<value>之前指定一个操作符[operator];
[flags]:目前haproxy的acl支持的标志位有3个:
-i:不区分<value>中模式字符的大小写;
-f:从指定的文件中加载模式;
--:标志符的强制结束标记,在模式中的字符串像标记符时使用;
<value>:acl测试条件支持的值有以下四类:
整数或整数范围:如1024:65535表示从1024至65535;仅支持使用正整数(如果出现类似小数的标识,其为通常为版本测试),且支持使用的操作符有5个,分别为eq、ge、gt、le和lt;
字符串:支持使用“-i”以忽略字符大小写,支持使用“\”进行转义;如果在模式首部出现了-i,可以在其之前使用“--”标志位;
正则表达式:其机制类同字符串匹配;
IP地址及网络地址
同一个acl中可以指定多个测试条件,这些测试条件需要由逻辑操作符指定其关系。条件间的组合测试关系有三种:“与”(默认即为与操作)、“或”(使用“||”操作符)以及“非”(使用“!”操作符)。
用例:
动静分离
相关文章推荐
- haproxy配置文件详解
- haproxy配置文件详解
- HAproxy配置文件详解
- haproxy 配置详解
- HAproxy配置文件详解
- haproxy初步安装配置详解
- HAProxy配置文件详解
- haproxy配置详解
- haproxy配置详解以及动静分离的实现
- Haproxy配置文件详解
- haproxy配置文件详解
- haproxy配置详解
- Haproxy配置详解
- haproxy配置详解+haproxy实现读写分离
- haproxy 配置详解
- haproxy配置文件详解
- haproxy配置文件详解
- haproxy配置文件详解及haproxy日志切割
- 千万级高并发负载均衡软件haproxy配置文件详解
- Haproxy的详解和配置