配置Haproxy

  1.解压Haproxy到d:\haproxy

  2.置haproxy.cfg文件

global
log 127.0.0.1 local0
maxconn 1500
daemon defaults
log 127.0.0.1 local3
mode http
option httplog
option dontlognull
option redispatch
retries 3
contimeout 5000
clitimeout 50000
srvtimeout 50000 listen private_monitoring :18100 #监听端口
mode http
option httplog
stats enable
stats uri /stats
stats refresh 5s

  3.建一个run.bat,内容如下: haproxy.exe -f haproxy.cfg -d 。其中, -d会在窗口运行, -D则是后台程序,只能在任务管理器中

  4.运行 haproxy -f haproxy.cfg.

  5.检测启动是否成功。

Haproxy配置文件选项参数详解
global

        log 127.0.0.1   local0 info

        #全局的日志配置,使用本机的syslog来记录log,请使用/dev/log,其中日志级别是[err warning info debug].local0 是日志设备(/etc/syslog/conf中所定义),

        #必须为如下24种标准syslog设备的一种:

        #kern   user   mail   daemon auth   syslog lpr    news   

        #uucp   cron   auth2  ftp    ntp    audit  alert  cron2  

        #local0 local1 local2 local3 local4 local5 local6 local7  

        maxconn  65536      #最大连接数

        ulimit-n  131087   #必须是maxconn的两倍以上    

        chroot  /usr/local/haproxy  #适用于chroot环境,为了安全     

        uid 99              #haproxy运行的用户和组

        gid 99

        daemon             #后台运行     

        nbproc  4           #设置4个并发进程,在做debug时建议设置为1

        pidfile /usr/local/haproxy/logs/haproxy.pid  #PID文件所在地

        option nolinger     #在连接关闭时立即清理连接,减少处于FIN_WAIT1状态的连接

        #debug

        #quiet

defaults

        log     global

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

        option  httplog      #启用http请求log

        option  dontlognull

        option  http-server-close

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

        option  allbackups             #但设置了backup的时候,默认第一个backup会优先,设置option allbackups后所有备份服务器权重一样

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

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

        stats   uri /admin/status      #监控haproxy状态的页面,可以使用http://IP/admin/status查看

        stats   auth admin:admin@123   #登录监控页面的用户名密码

        stats   refresh 60s            #监控页面的刷新时间

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

        maxconn 65536                  #默认的最大连接数

        contimeout      5000           #连接超时

        clitimeout      50000          #客户端超时

        srvtimeout      50000          #服务器超时

frontend web_nginx                     #定义前端服务器,相当于F5里的VIP的概念

        mode http

        maxconn 65536

        bind 192.168.32.30:80         #设定vip的监听端口

        bind-process 4                #针对多核处理,启用处理器数量

acl php_nginx path_end  .php      #判断文件后缀名是不是.php,如果是返回true

        acl html_nginx path_end .html     #判断文件后缀名是不是.html,如果是返回true

use_backend php_backend if php_nginx   #当满足php_nginx策略时使用php_backend的backend

        use_backend html_backend if html_nginx #当满足html_nginx策略时使用html_backend的backend

backend php_backend

        mode http

        fullconn  4096        #设置最大连接

        balance roundrobin    #负载均衡的方式,roundrobin平均方式

        option  httpchk HEAD /check.php HTTP/1.0  

        #心跳检查Haproxy会判断你的后端web的根上存在check.txt没有,以此作为haproxy-status的监控状态依据,将它#掉即可;

        #如果是生产环境,你可将check.php改为index.jsp或index.php即可。

        #一般的健康检查可以采用HEAD方法来做,而不是才采用GET方法,用于HEAD方法没有数据返回,仅检查Response的HEAD是不是200。相对来说,更快,而且更简单

        server node1  192.168.32.31:80 check inter 2s minconn 64 maxconn 2048 slowstart 10s weight 100

        server node2  192.168.32.32:80 check inter 2s minconn 64 maxconn 2048 slowstart 10s weight 100

        #服务器定义/ip/check inter启用健康检查,检测心跳频率/minconn最小连接数/maxconn最大连接数/slowstart至全速缓冲时间/weight

backend html_backend

        mode http

        fullconn 4096

        balance roundrobin

        cookie SERVERID       #允许插入serverid到cookie中,serverid后面可以定义

        option  httpchk HEAD /check.html HTTP/1.0

        server node2  192.168.32.32:80 cookie 2 check inter 2s rise 3 fall 3 weight 100

        server node3  192.168.32.33:80 cookie 3 check inter 2s rise 3 fall 3 weight 100

        #服务器定义,cookie 1表示serverid为1,check inter 2s 是检测心跳频率

        #rise 3是3次正确认为服务器可用,fall 3是3次失败认为服务器不可用,weight代表权重

Haproxy------在windows下配置负载均衡的更多相关文章

  1. Nginx + Tomcat Windows下的负载均衡配置

     Nginx + Tomcat Windows下的负载均衡配置 一.为什么需要对Tomcat服务器做负载均衡?    Tomcat服务器作为一个Web服务器,其并发数在300-500之间,如果超过50 ...

  2. Nginx+Tomcat在Windows下做负载均衡

    一. 为什么需要对Tomcat服务器做负载均衡 Tomcat服务器作为一个Web服务器,其并发数在300-500之间,如果有超过500的并发数便会出现Tomcat不能响应新的请求的情况,严重影响网站的 ...

  3. 配置nginx实现windows/iis应用负载均衡(转载)

    配置nginx实现windows/iis应用负载均衡   nginx是俄罗斯人开发的一款跨平台的高性能HTTP和反向代理服务器,可以利用它实现web应用服务器的负载均衡. 反向代理是指将用户请求通过代 ...

  4. windows 下配置 Nginx 常见问题(转)

    windows 下配置 Nginx 常见问题 因为最近的项目需要用到负载均衡,不用考虑,当然用大名鼎鼎的Nginx啦.至于Nginx的介绍,这里就不多说了,直接进入主题如何在Windows下配置. 我 ...

  5. haproxy+keepalived实现高可用负载均衡

    软件负载均衡一般通过两种方式来实现:基于操作系统的软负载实现和基于第三方应用的软负载实现.LVS就是基于Linux操作系统实现的一种软负载,HAProxy就是开源的并且基于第三应用实现的软负载. HA ...

  6. 解决nginx配置负载均衡时invalid host in upstream报错

    当前平台: windows nginx版本: 1.11.5 前言: 在配置负载均衡时,同时也需要设置反向代理,当修改了nginx.conf时,发现nginx服务无法开启. 1. 打开"ngi ...

  7. windows 下配置 Nginx 常见问题

    因为最近的项目需要用到负载均衡,不用考虑,当然用大名鼎鼎的Nginx啦.至于Nginx的介绍,这里就不多说了,直接进入主题如何在Windows下配置. 我的系统是win7旗舰版的,到官网下载最新版本 ...

  8. haproxy+keepalived实现高可用负载均衡(转)

      软件负载均衡一般通过两种方式来实现:基于操作系统的软负载实现和基于第三方应用的软负载实现.LVS就是基于Linux操作系统实现的一种软负载,HAProxy就是开源的并且基于第三应用实现的软负载. ...

  9. docker集群——Mesos集群下的负载均衡marathon-lb

    前面的章节介绍了Mesos+Zookeeper+Marathon的Docker管理平台,接下来介绍如何在该平台下构建负载均衡. 默认情况下,mesos marathon会把app发布到随机节点的随机端 ...

随机推荐

  1. unity3d 中文乱码解决方法——cs代码文件格式批量转化UTF8

    在Unity3d中经常会碰到中文乱码的问题,比如代码中的[AddComponentMenu("GameDef/AI/战机AI")],注释,中文文本等等 其原因在于,unity本身是 ...

  2. flask框架+pygal+sqlit3搭建图形化业务数据分析平台

    一. 前言 先说下主要的框架和主要的图形库的特点:(个人见解) Django:python开发的一个重量级的web框架,集成了MVC和ORM等技术,设计之初是为了使开发复杂的.数据库驱动的网站变得简单 ...

  3. 老李分享:接口测试之jmeter

    老李分享:接口测试之jmeter   poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.移动端自动化测试很多人把他仅仅理解成appu ...

  4. 老李分享:持续集成学好jenkins之Git和Maven配置

    老李分享:持续集成学好jenkins之Git和Maven配置   poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣 ...

  5. POPTEST联合创始人李爱然的“IT培训创业的随想"

    POPTEST联合创始人李爱然的“IT培训创业的随想" IT教育行业最大的问题是缺少像互联网行业一样的产品经理. 大多数IT教育机构在早期依靠个人或者一套课程开创了一定的局面,随着机构的壮大 ...

  6. Android ShellUtils

    Android中执行Shell命令的工具类 public class ShellUtils { public static final String COMMAND_SU = "su&quo ...

  7. Android中实现定时器的四种方式

    第一种方式利用Timer和TimerTask 1.继承关系 java.util.Timer 基本方法 schedule 例如: timer.schedule(task, delay,period); ...

  8. 高性能MySQL--索引学习笔记(原创)

    看过一些人写的学习笔记,完全按书一字不漏照抄,内容很多,真不能叫笔记.遂自己整理了一份,取其精要. 更多笔记请访问@个人简书 [toc] 索引概述 索引即key 在存储引擎层实现,不同引擎工作方式不同 ...

  9. java 基础知识六 字符串1

    java  基础知识六  字符串1 String 不是java的基本数据类型 String 不是java的基本数据类型 String 不是java的基本数据类型 字符串是是一个字符序列 1.创建 创建 ...

  10. Ackerman 函数 (双递归函数)

    public static int ackerman(int n,int m){  if(n==1&&m==0){return 2;}  else if(n==0&&m ...