haproxy windows环境使用

haproxy下载:http://pan.baidu.com/s/1miEvQUc

测试环境说明:

ip地址作用开放端口备注
192.168.44.144 安装sql server,IIS服务网站1433,8080供192.168.44.146 访问
192.168.44.146 安装haproxy1433,8088 供外网或宿主机访问
192.168.44.144  安装sql server (开放端口 1433) ,IIS服务网站 (开放端口8080)  
                供192.168.44.146 访问

192.168.44.146  安装haproxy并开放端口(1433,8088)
           供外网或宿主机访问


haproxy.cfg:

 
    
  1. global
  2. maxconn 1500
  3. nbproc 1
  4. daemon
  5. defaults
  6. mode tcp
  7. retries 1
  8. option redispatch
  9. maxconn 2000
  10. timeout connect 5s
  11. timeout client 120s
  12. timeout server 120s
  13. listen sqlserver:1433
  14. bind 0.0.0.0:1433
  15. mode tcp
  16. balance first
  17. server sql_server 192.168.44.144:1433 check inter 1000 rise 3 fall 1 id 1
  18. listen test1 #FrontendBackend的组合体,监控组的名称,按需自定义名称
  19. bind 0.0.0.0:8088 #监听端口
  20. mode http #http7层模式
  21. server test_1 192.168.44.144:8080 check inter 1000 rise 3 fall 1 id 1

启动脚本命令:

haproxy.exe -f haproxy.cfg -d
-d为前端启动,-D为后端启动
或者,直接运行 run.bat


Haproxy配制介绍:

 
    
  1. global # 全局参数的设置
  2. log 127.0.0.1 local2 # log语法:log <address_1>[max_level_1] # 全局的日志配置,使用log关键字,
  3. 指定使用127.0.0.1
  4. 上的syslog服务中的local0日志设备,记录日志等级为info的日志
  5. chroot /var/lib/haproxy #改变当前工作目录
  6. pidfile /var/run/haproxy.pid #当前进程id文件
  7. maxconn 4000 #最大连接数
  8. user haproxy #所属用户
  9. group haproxy #所属组
  10. daemon #以守护进程方式运行haproxy
  11. stats socket /var/lib/haproxy/stats
  12. defaults
  13. mode http #默认的模式mode { tcp|http|health },tcp4层,http7层,health只会返回OK
  14. log global #应用全局的日志配置
  15. option httplog # 启用日志记录HTTP请求,默认haproxy日志记录是不记录HTTP请求日志
  16. option dontlognull # 启用该项,日志中将不会记录空连接。所谓空连接就是在上游的负载均衡器
  17. 或者监控系统为了探测该 服务是否存活可用时,需要定期的连接或者获取某
  18. 一固定的组件或页面,或者探测扫描端口是否在监听或开放等动作被称为空连接;
  19. 官方文档中标注,如果该服务上游没有其他的负载均衡器的话,建议不要使用
  20. 该参数,因为互联网上的恶意扫描或其他动作就不会被记录下来
  21. option http-server-close #每次请求完毕后主动关闭http通道
  22. option forwardfor except 127.0.0.0/8 #如果服务器上的应用程序想记录发起请求的客户端的IP地址,需要在HAProxy
  23. 配置此选项, 这样 HAProxy会把客户端的IP信息发送给服务器,在HTTP
  24. 请求中添加"X-Forwarded-For"字段。 启用 X-Forwarded-For,在requests
  25. 头部插入客户端IP发送给后端的server,使后端server获取到客户端的真实IP
  26. option redispatch # 当使用了cookie时,haproxy将会将其请求的后端服务器的serverID插入到
  27. cookie中,以保证会话的SESSION持久性;而此时,如果后端的服务器宕掉
  28. 了, 但是客户端的cookie是不会刷新的,如果设置此参数,将会将客户的请
  29. 求强制定向到另外一个后端server上,以保证服务的正常。
  30. retries 3 # 定义连接后端服务器的失败重连次数,连接失败次数超过此值后将会将对应后端
  31. 服务器标记为不可用
  32. timeout http-request 10s #http请求超时时间
  33. timeout queue 1m #一个请求在队列里的超时时间
  34. timeout connect 10s #连接超时
  35. timeout client 1m #客户端超时
  36. timeout server 1m #服务器端超时
  37. timeout http-keep-alive 10s #设置http-keep-alive的超时时间
  38. timeout check 10s #检测超时
  39. maxconn 3000 #每个进程可用的最大连接数
  40. frontend main *:80 #监听地址为80
  41. acl url_static path_beg -i /static /images /javascript /stylesheets
  42. acl url_static path_end -i .jpg .gif .png .css .js
  43. use_backend static if url_static
  44. default_backend my_webserver #定义一个名为my_app前端部分。此处将对于的请求转发给后端
  45. backend static #使用了静态动态分离(如果url_path匹配 .jpg .gif .png .css .js静态文件则
  46. 访问此后端)
  47. balance roundrobin #负载均衡算法(#banlance roundrobin 轮询,balance source 保存session值,
  48. 支持static-rrleastconnfirsturi等参数)
  49. server static 127.0.0.1:80 check #静态文件部署在本机(也可以部署在其他机器或者squid缓存服务器)
  50. backend my_webserver #定义一个名为my_webserver后端部分。PS:此处my_webserver只是一个
  51. 自定义名字而已,但是需要与frontend里面配置项default_backend 值相一致
  52. balance roundrobin #负载均衡算法
  53. server web01 172.31.2.33:80 check inter 2000 fall 3 weight 30 #定义的多个后端
  54. server web02 172.31.2.34:80 check inter 2000 fall 3 weight 30 #定义的多个后端
  55. server web03 172.31.2.35:80 check inter 2000 fall 3 weight 30 #定义的多个后端



测试:

IIS服务网站设置:

系统:windows 2008 R2 
主机: 192.168.44.144
开始--》管理工具--》服务器管理
1058968-20161210100433882-702346339.jpg
 添加角色:
1058968-20161210100434116-366562181.png
 下一步, 然后选择:
1058968-20161210100434335-973026205.png
 下一步,在弹出的界面中,勾上Web服务器,再勾上管理工具下的所有子项,再下一步
1058968-20161210100434866-1339302245.png
 再下一步,安装,结束后重启一下服务器
1058968-20161210100435429-175504147.jpg
 点+号,展开该域服务器名称
右键单击 网站,点击 添加网站
1058968-20161210100437522-1733770501.png
 
1058968-20161210100437866-853585683.jpg
测试:
  1058968-20161210100438226-1782960047.jpg
 开放端口: 
192.168.44.144 开放端口 1433,8080
 192.168.44.146  开放端口1433,8088

1058968-20161210100438616-1093334651.png
 通过外网或宿主机访问 (公外,须要配制)192.168.44.146
1058968-20161210100438929-915830382.png
 haproxy前端启动信息:
1058968-20161210100439226-1423255335.png
 haproxy的ip信息
1058968-20161210100439491-460949996.png
开放端口信息
1058968-20161210100439710-1091624070.png
 
宿主机中访问
1058968-20161210100440163-1672141281.png
 
宿主机中连接sql server
1058968-20161210100440351-486128659.jpg
 
haproxy中有http请求时信息

1058968-20161210100440616-2008593768.png
 






附件列表

 

转载于:https://www.cnblogs.com/99fu/p/6154955.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: HAProxy是一款优秀的开源负载均衡软件,它主要运行在Linux系统上。虽然官方不提供Windows版本的HAProxy二进制文件,但是可以通过一些方法在Windows系统上安装和运行HAProxy: 1. 使用Cygwin环境:Cygwin是一个在Windows系统上运行的类Unix环境,可以在Cygwin中安装HAProxy,但是需要一定的Linux基础。 2. 使用虚拟机:可以在Windows系统上安装一个虚拟机,在虚拟机中安装Linux系统,然后再安装HAProxy。 3. 使用Docker:可以在Windows系统上安装Docker,然后在Docker容器中安装HAProxy。 需要注意的是,在Windows系统上使用HAProxy可能会受到一些限制和性能损失,建议还是在Linux系统上使用HAProxy。 ### 回答2: HAProxy是一款开源的负载均衡软件,可以在Linux系统上运行。目前尚未官方支持Windows平台,因此在Windows上运行HAProxy需要进行一些额外的操作。 要在Windows使用HAProxy,可以通过在Windows服务器安装适用的Linux子系统,例如WSL(Windows Subsystem for Linux)或者虚拟机来运行Linux系统。 首先,需要在Windows系统上进行WSL的安装。可以在Microsoft Store中搜索“WSL”并进行安装。安装完成后,打开WSL并按照指示完成初始设置。 接下来,在WSL中安装并配置Linux系统。可以选择适合的Linux发行版,并按照官方指南进行安装步骤。一旦安装完成,可以在WSL中打开Linux系统,并更新系统以确保安装过程中包含了最新的软件和库。 然后,在WSL中使用适当的软件包管理器(如apt或yum)安装HAProxy。可以执行适当的命令来安装HAProxy,然后按照文档进行配置。 最后,在WSL中启动HAProxy并进行测试。可以使用适当的命令来启动和停止HAProxy服务,并通过访问相应地址和端口来验证负载均衡是否正常工作。 需要注意的是,由于HAProxy不官方支持Windows平台,因此运行在Windows上的HAProxy可能会面临一些限制和挑战。在操作和配置过程中需要耐心和技术水平,并要对可能引发的问题进行充分的测试和调试。 总之,虽然HAProxy官方不支持Windows平台,但可以通过在Windows上安装Linux子系统(如WSL)或者虚拟机来在Windows上运行HAProxy并实现负载均衡功能。 ### 回答3: HAProxy是一种高性能、可靠的开源负载均衡软件,但目前暂时不支持在Windows操作系统上运行。HAProxy的源码是使用C语言编写的,采用了Linux特有的系统调用和功能。因此,它只能在类Unix系统(如Linux、FreeBSD等)上运行,并且没有为Windows进行适配。 这也是为什么我们在搜索HAProxy Windows版本时无法找到可用版本的原因。虽然HAProxy是一个功能强大且受欢迎的负载均衡解决方案,但在Windows上无法直接使用。如果您想在Windows操作系统使用类似的负载均衡软件,可以考虑使用其他可用的解决方案,例如Microsoft Azure Traffic Manager或Nginx等。 总之,HAProxy是一个优秀的负载均衡软件,但目前不支持在Windows上运行。对于需要在Windows上实现负载均衡的用户,建议寻找其他适用的解决方案。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值