HAproxy负载均衡配置教程_第1页
HAproxy负载均衡配置教程_第2页
HAproxy负载均衡配置教程_第3页
HAproxy负载均衡配置教程_第4页
HAproxy负载均衡配置教程_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、HAproxy负载均衡配置教程、简介haproxy是一个开源的高性能负载均衡软件;支持双机热备、虚拟主机和图形化的管理界面,自带强大的对RS健康检查功能;支持TCP(四层)、HTTP(七层)应用代理功能;多用于PV很大,但是又需要七层应用代理的业务二、工作原理1、基于TCP负载均衡工作原理:使用NAT方式接收和返回请求报文,只单纯对请求流量和返回流量做转发;RS不用配置公网IP2、基于HTTP负载均衡工作原理:使用NAT方式接收和返回请求报文,在接收请求报文后会检查报文头信息,根据报文头信息匹配Frontend(ACL规则)再转发给Backend(server池);RS不用配置公网IP三、安装

2、HAproxy1、下载haproxy源码包下载地址: HYPERLINK /download.php?id=40475&ResourceID=12508 /download.php?id=40475&ResourceID=125082、tarxfhaproxy-1.4.22.tar.gz-C/home3、cd/home/haproxy-1.4.224、makeTARGET=linux26ARCH=x86_645、makeinstallPREFIX=/usr/local/haproxy6、ln-s/usr/local/haproxy/usr/haproxy7、cd/usr/local/hapro

3、xy8、mkdir-pbinconflogsvar/runvar/chroot9、cdexamples/10、cphaproxy.cfg/usr/local/haproxy/etc11、cphaproxy.init/etc/init.d/haproxy12、chmod700/etc/init.d/haproxy13、chkconfig-addhaproxy14、chkconfighaproxyon四、配置基于四层负载均衡1、vimhaproxy.cfg#全局配置信息#globalchroot/usr/local/haproxy/var/chrootdaemongrouphaproxy#chro

4、ot运行路径#以后台形式运行harpoxy#启动程序所用组,随便写,只要下面我们创建这个组即可userhaproxy#启动程序所用用户,随便写,只要下面我们创建这个用户即可log:514local0warring#定义haproxy日志存放设备及级别pidfile/usr/local/haproxy/var/run/haproxy.pid#haproxy进程PID文件,用于存放pidmaxconn20480#默认最大连接数spread-checks3nbproc8#进程数量,一般为CPU核数2倍#默认配置选项#logglobalmodetcpretries3defaults#所处理的类别(7层

5、代理http,4层代理tcp)#3次连接失败就认为服务器不可用,也可以通过后面设置optionredispatch#serverID对应的服务器挂掉后,强制定向到其他健康的服务器contimeout5000clitimeout50000srvtimeout50000#设置默认连接超时时间#设置客户端连接超时时间#设置服务器连接超时时间listenadmin_statusbind:81需要自定义名称modetcpstatsenable#设置图形化监控页面#定义实例名为admin_status,实例名可以随意起#设置Frontend和Backend的组合体,监控组的名称,按#设置模式;tcp为四层

6、http为7层#激活图形化管理界面statsuri/admin?stats#设置图形管理界面url打开路径statsauthadmin:adminbalanceroundrobinoptionhttpcloseoptionforwardfor#设置监控页面的用户和密码:admin#设置对RS的调度算法,这里设置的是轮询方式#让RS节点记录客户端的真实IP,如果不加这条,RS节点只记录负载均衡服务器的IPoptionhttpchkHEAD/test.htmlHTTP/1.0#定义通过URL方式进行对RS的健康检查,不加这条,默认是通过IP+端口的方式进行健康检查;如果想通过URL进行健康检查,后

7、端RS节点上的web定义存放网页的目录下必须有test.html这个页面,否则健康检查会失败serverwww0:8080checkinter1500fall3rise3checkport8080maxconn3000weight1serverwww0:8080checkinter1500fall3rise3checkport8080maxconn3000weight1#定义server地址池,server是规定的server地址池字段,不能变;后面|vww01是名字随便写;|10.0.0.X:8080是定义的RS的IP和端口,端口最好不要用80;Reckinter1500是定义健康检查间隔为

8、1.5秒,不定义默认为2秒检查一次;fall3是定义检查三次后端RS都失败就把该节点踢掉,不定义默认也是检查三次;rise3是定义当RS节点从故障到恢复,健康检查三次才会认为该节点真正正常;checkport8080是指定健康检查的端口号为8080;maxconn3000是定义单个节点最大连接数为3000pv;具体要安装服务器硬件状况配置,否则很可能会因为pv过大把服务器压垮;weight1是定义权重,权重值越大,承载的任务越多2、useraddhaproxy-s/sbin/nologin-M五、配置基于七层负载均衡1、vimhaproxy.cfg#全局配置信息#globalchroot/us

9、r/local/haproxy/var/chrootdaemongrouphaproxy创建这个组即可userhaproxy们创建这个用户即可log:514local0warring#chroot运行路径#以后台形式运行harpoxy#启动程序所用组,随便写,只要下面我们#启动程序所用用户,随便写,只要下面我#定义haproxy日志存放设备及级别pidfile/usr/local/haproxy/var/run/haproxy.pid#haproxy进程PID文件,用于存放pidmaxconn20480spread-checks3nbproc8#默认配置选项#默认最大连接数#进程数量,一般为C

10、PU核数2倍defaultslogglobalmodetcpretries3optionredispatch器contimeout5000clitimeout50000srvtimeout50000#设置frontend#所处理的类别(7层代理http,4层代理tcp)#3次连接失败就认为服务器不可用,也可以通过后面设置#serverID对应的服务器挂掉后,强制定向到其他健康的服务#设置默认连接超时时间#设置客户端连接超时时间#设置服务器连接超时时间frontendhttp_80_inbind:80#设置监听端口,即haproxy提供的web服务端口和VIP和lvs的vip类似#acl策略配置

11、#如果请求的域名满足正则表达式中的2个域名则把该条请求匹配给frank_web这条acl;-i是忽略大小写redirectprefix HYPERLINK 49 49code301iffran_web#如果请求的域名满足正则表达式中的2个域名则把该条请求匹配给frank_web这条acl并用301跳转给49这台服务器处理;最后的fran_web一定要和acl上的frank_web一样,也就是name处是什么,这里就写什么default_backendwwwpools#定义了默认的请求交由wwwpools这个地址组处理backendwwwpools#定义地址组,取名为wwwpoolsbalanceroundrobin#定义调度算法为轮询模式serverwww:8080checkinter1500rise3fall3weight1#定义一个地址RS节点,取名为www,健康检查间隔为1.5秒,检查三次则把RS节点剔除;故障恢复后健康检查3次则认为真正正常六、在301跳转的基础上做ACL分流1、aclweb_wwwpath_beg/www/#把后缀带/www/的请求定义为名字为web_www的acl列表2、aclweb_bbspath_beg/bbs/#把后缀带/bbs/的请求定义为名字为web_bb

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论