配置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. Redis数据迁移方案

    场景 Redis实例A ---> Redis实例B,整库全量迁移 方案一: mac环境 brew install npm npm install redis-dump -g 针对RedisA: ...

  2. java实现8种排序算法(详细)

    八种排序分别是:直接插入排序.希尔排序.冒泡排序.快速排序.直接选择排序.堆排序.归并排序.基数排序. 希尔排序在时间性能上优于直接插入排序,但希尔排序是一种不稳定排序. 快速排序的时间性能也优于冒泡 ...

  3. 为什么使用 Containjs 模块化管理工具效率高?

    为什么使用 Containjs 模块化管理工具效率高? 要说明这个首先得说明一下,Containjs 的模块加载原理. 第一步,首先使用异步加载(ajax)在 js 目录下的 app.js 入口模块( ...

  4. API测试自动化——基于CDIF的SOA基本功能(实例篇)

    今天我们通过一些实例来体验一下API的自动化测试,感受一下基于CDIF的SOA的一些基本功能. 传统的测试工具在测试一个API的时候,必须手动填写这个API所需要接收的所有信息,比如一个查询航班动态的 ...

  5. Nagios监控远程主机

    p.MsoNormal,li.MsoNormal,div.MsoNormal { margin: 0cm; margin-bottom: .0001pt; line-height: 150%; fon ...

  6. 【Egret】实现web页面操作PC端本地文件操作

    Egret 实现web页面操作PC端本地文件操作: http://edn.egret.com/cn/book/page/pid/181 //------------------------------ ...

  7. 老李分享:loadrunner用javavuser进行接口测试

    老李分享:loadrunner用javavuser进行接口测试 在这里分享一个poptest培训过程中案例,在日常工作中会遇到被测试系统通讯都是通过加密的数据包,加密算法是公司自己开发的,并且发送的数 ...

  8. Servlet(一)基础总结

    一.Servlet概述 1.Java Servlet是基于Java的一种技术和标准,是独立于平台和协议,服务器端的java应用程序.与Applet相比.Applet运行在客户端,而Servlet运行在 ...

  9. Spring实战——缓存

    缓存 提到缓存,你能想到什么?一级缓存,二级缓存,web缓存,redis-- 你所能想到的各种包罗万象存在的打着缓存旗号存在的各种技术或者实现,无非都是宣扬缓存技术的优势就是快,无需反复查询等. 当然 ...

  10. 关于MYSQL存储中文问题

    最近在学习MYSQL时遇到了不能存储中文的问题,在网上找了很多类似的方法,最后都失败了(失败原因:修改完my.cnf文件后mysql server重新启动失败),濒临崩溃的时候重装了下mysql(Ub ...