设为首页 收藏本站
查看: 1319|回复: 0

[经验分享] [转] 初尝利用HAProxy实现负载均衡

[复制链接]

尚未签到

发表于 2015-11-20 13:22:16 | 显示全部楼层 |阅读模式
一,HAProxy 介绍
反向代理服务器,支持双机热备支持虚拟主机,但其配置简单,拥有非常不错的服务器健康检查功能,当其代理的后端服务器出现故障, HAProxy会自动将该服务器摘除,故障恢复后再自动将该服务器加入。新的1.3引入了frontend,backend,frontend根据任意 HTTP请求头内容做规则匹配,然后把请求定向到相关的backend.
二,利用HAPorxy实现负载均衡
1. 利用HAProxy实现负载均衡
192.168.169.137 (haproxy)---------负载均衡----------(192.168.169.117;192.168.169.118)
安装配置HAproxy
cd /usr/local/
wget http://haproxy.1wt.eu/download/1.3/src/haproxy-1.3.14.2.tar.gz
tar zxvf haproxy-1.3.14.2.tar.gz
mv  haproxy-1.3.14.2  haproxy
cd haproxy
make TARGET=linux26
2. 创建配置文件
# vi haproxy.cfg
CODE:
--------------------------------------------------------------------------------------------------------------------
global
maxconn 5120
chroot /usr/local/haproxy
uid 99
gid 99
daemon
quiet
nbproc  2  #通过nbproc多设置几个haproxy并发进程,这样每个进程的task_queue相对就会短很多,性能自然就能提高不少
#pidfile /var/run/haproxy-private.pid
defaults
log     global
mode    http
option  httplog
option  dontlognull
log 127.0.0.1 local3
retries 3
option redispatch
maxconn 2000
contimeout      5000
clitimeout      50000
srvtimeout      50000
listen webfarm 0.0.0.0:80
mode http
stats uri /haproxy-stats     #监控haproxy状态
stats realm Haproxy/ statistics
stats auth netseek:52netseek  #设置状态监控的用户名为netseek密码为52netseek
balance roundrobin     #负载均衡算法
cookie SERVERID insert indirect
option httpclose   #
option forwardfor  #apache日志转发功能
option httpchk HEAD /check.txt HTTP/1.0  #健康检测
server app_bbs1 192.168.169.117:80 cookie app1inst1 check inter 2000 rise 2 fall 5
server app_bbs2 192.168.169.118:80 cookie app1inst2 check inter 2000 rise 2 fall 5syslog.conf里加一行
local3.*         /var/log/haproxy.log
# touch /var/log/haproxy.log
# chown haproxy:haproxy /var/log/haproxy.log
# chmod u+x /var/log/haproxy.log
# tail –f /var/log/harpoxy.log 监控日志
# ./haproxy -f haproxy.cfg 启动服务.
监控状态图示http://192.168.169.137/haproxy-stats ,输入用户名密码查看状态。
harproxy.jpg
后端apache日志处理
配置httpd.conf
LogFormat "%{X-Forwarded-For}i %l %u %t /"%r/" %>s %b " combined
CustomLog /var/log/httpd/access_log combined
虚拟主机不记录检测日志:
SetEnvIf Request_URI "^/check/.txt___FCKpd___0quot; dontlog
LogLevel warn
ErrorLog /var/log/httpd/vhost_error.log
CustomLog /var/log/httpd/vhost_access.log combined env=!dontlog
三.相关介绍
#./haproxy –help //haproxy相关命令参数介绍.
haproxy  -f  <配置文件>  [-n 最大并发连接总数] [-N 每个侦听的最大并发数] [-d] [-D] [-q] [-V] [-c] [-p <pid文件>] [-s] [-l] [-dk]
[-ds] [-de] [-dp] [-db] [-m <内存限制M>] [{-sf|-st} pidlist...]
-d     前台,debug模式
-D     daemon模式启动
-q     安静模式,不输出信息
-V     详细模式
-c     对配置文件进行语法检查
-s     显示统计数据
-l     显示详细统计数据
-dk    不使用kqueue
-ds    不使用speculative epoll
-de    不使用epoll
-dp    不使用poll
-db    禁用后台模式,程序跑在前台
-sf <pidlist>
程序启动后向pidlist里的进程发送FINISH信号,这个参数放在命令行的最后
-st <pidlist>
程序启动后向pidlist里的进程发送TERMINATE信号,这个参数放在命令行的最后
四,更高级的应用参考相关文档
官方参考手册: http://haproxy.1wt.eu/download/1.3/doc/haproxy-en.txt
http://www.howtoforge.com/high-availability-load-balancer-haproxy-heartbeat-debian-etchAdd:
News, March 30th, 2008
I finally assembled my new machines and installed the donated 10-Gig Myricom NICs. I ran a few benchmarks. Result: new bandwidth records set for HAPoxy: 9.897 Gbps and 35128 hits/s! It's possibly the highest bitrate achieved to date with an opensource load-balancer! BTW, even most commercial ones are commonly limited to 4 Gbps by hardware design. What's a bit frustrating for a precision-tweaker like me is that those NICs work out-of-the box on dirt cheap hardware, there's almost no joy passing beyond the first 4 Gbps :-)
作者Willy TARREAU是linux 内核的2.4主要维护者之一。
具体的请看:
http://haproxy.1wt.eu/10g.html文章来源:http://bbs.linuxpk.com/archiver/tid-13193.html
顺便抱怨一下:CSDN的编辑器不知道怎么回事,总是会丢失格式乱成一团,最后只好贴成代码才没丢失,唉,大家凑合看。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-141520-1-1.html 上篇帖子: 高可用的负载均衡配置方法(Haproxy+KeepAlived) 下篇帖子: HAPROXY/LNMP系统请求应答超时时间设置
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表