第三章:HAproxy实例
对Linux有兴趣的朋友加入QQ群:476794643 在线交流
本文防盗链:http://zhang789.blog.51cto.com
上一篇:第二章:HAproxy配置文件详解以及HAproxy的ACL详解
目录
- haproxy案例1:定义独立日志文件
- haproxy案例2:haproxy统计页面的输出机制
- haproxy案例3:动静分离示例:
- haproxy案例4:实现web负载
- haproxy案例5:负载均衡MySQL服务
由于字体过多分开写的,全系列文章链接
第一章:HAproxy简介及安装配置 http://zhang789.blog.51cto.com/11045979/1873432
第二章:HAproxy配置文件详解以及HAproxy的ACL详解 http://zhang789.blog.51cto.com/11045979/1873435
第三章:HAproxy实例
http://zhang789.blog.51cto.com/11045979/1873436
案例1:定义独立日志文件
[root@node1 haproxy]# vim /etc/rsyslog.conf #为其添加日志功能# Provides UDP syslog reception$ModLoad imudp$UDPServerRun 514 ------>启动udp,启动端口后将作为服务器工作# Provides TCP syslog reception$ModLoad imtcp$InputTCPServerRun 514 ------>启动tcp监听端口local2.* /var/log/haproxy.log
[root@node1 haproxy]# service rsyslog restar[root@LB haproxy]# vim haproxy.cfglog 127.0.0.1 local2 --------->在global端中添加此行
案例2:haproxy统计页面的输出机制
listen statisticsbind *:8009 # 自定义监听端口stats enable # 启用基于程序编译时默认设置的统计报告stats auth admin:admin # 统计页面用户名和密码设置stats uri /admin?stats # 自定义统计页面的URL,默认为/haproxy?statsstats hide-version # 隐藏统计页面上HAProxy的版本信息stats refresh 30s # 统计页面自动刷新时间stats admin if TRUE #如果认证通过就做管理功能,可以管理后端的服务器stats realm Hapadmin # 统计页面密码框上提示文本,默认为Haproxy\ Statistics
案例3:动静分离示例:
1、在两台机器上面同样在网站根目录下准备一个index.html和index.php
2、实现功能访问.html后缀的只能访问128,访问.php结尾访问140
frontend webservs bind *:80 acl url_static path_beg -i /static /images /javascript /stylesheets acl url_static path_end -i .jpg .gif .png .css .js .html acl url_php path_end -i .php acl host_static hdr_beg(host) -i img. imgs. video. videos. ftp. image. download. use_backend static if url_static or host_static use_backend dynamic if url_php default_backend dynamicbackend dynamic mode http balance roundrobin server node2 192.168.211.140:80 cookie 1 weight 5 check inter 2000 rise 1 fall 1backend static mode http balance roundrobin server node1 192.168.211.128:80 cookie 1 weight 5 check inter 2000 rise 1 fall 1
案例4:实现web负载
1、node1安装http和测试页面
[root@web1 ~]# yum -y install httpd[root@web1 ~]# cd /var/www/html/[root@web1 html]# echo "<h1>Server WWW node1</h1>" > index.html
2、node2安装http和测试页面
[root@web2 ~]# yum -y install httpd[root@web2 ~]# cd /var/www/html/[root@web2 html]# echo "<h1>Server WWW node2</h1>" > index.html
3、haproxy安装配置
[root@HAproxy ~]# yum -y groupinstall "Development Tools"[root@HAproxy ~]# yum -y install haproxy
4、配置文件
[[email protected] ~]# cat /etc/haproxy/haproxy.cfg ......主要配置函数listen stats #监控页面 mode http bind 0.0.0.0:1080 stats enable stats hide-version stats uri /haproxyadmin?stats stats realm Haproxy\ Statistics stats auth admin:admin stats admin if TRUEfrontend main #定义服务器组 bind *:80 default_backend serverbackend server #定义服务器 mode http balance roundrobin option httpchk HEAD /index.html HTTP/1.0 server node1 192.168.211.140:80 cookie 1 weight 5 check inter 2000 rise 1 fall 1 server node2 192.168.211.128:80 cookie 1 weight 5 check inter 2000 rise 1 fall 1
5、查看监控页面
6、测试
案例5:负载均衡MySQL服务
frontend mysql bind *:3306 mode tcp log global default_backend mysqlserversbackend mysqlservers balance leastconn server dbsrv1 192.168.211.140:3306 check port 3306 intval 2 rise 1 fall 2 maxconn 300 server dbsrv2 192.168.211.128:3306 check port 3306 intval 2 rise 1 fall 2 maxconn 300
时间: 2024-10-26 08:35:12