hhajhh 发表于 2019-1-1 11:44:05

高可用高性能负载均衡软件HAproxy详解指南

第三章:HAproxy实例
  
  
  对Linux有兴趣的朋友加入QQ群:476794643 在线交流
  本文防盗链:http://zhang789.blog.运维网.com
  

  上一篇:第二章:HAproxy配置文件详解以及HAproxy的ACL详解
  

目录

[*]  haproxy案例1:定义独立日志文件
[*]  haproxy案例2:haproxy统计页面的输出机制
[*]  haproxy案例3:动静分离示例:
[*]  haproxy案例4:实现web负载
[*]  haproxy案例5:负载均衡MySQL服务
  由于字体过多分开写的,全系列文章链接
  第一章:HAproxy简介及安装配置 http://zhang789.blog.运维网.com/11045979/1873432
第二章:HAproxy配置文件详解以及HAproxy的ACL详解 http://zhang789.blog.运维网.com/11045979/1873435
第三章:HAproxy实例
  http://zhang789.blog.运维网.com/11045979/1873436
案例1:定义独立日志文件
# 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
# service rsyslog restar
# vim haproxy.cfg
log 127.0.0.1 local2 --------->在global端中添加此行
案例2:haproxy统计页面的输出机制
listen statistics
bind *:8009 # 自定义监听端口
stats enable # 启用基于程序编译时默认设置的统计报告
stats auth admin:admin # 统计页面用户名和密码设置
stats uri /admin?stats # 自定义统计页面的URL,默认为/haproxy?stats
stats hide-version # 隐藏统计页面上HAProxy的版本信息
stats refresh 30s # 统计页面自动刷新时间
stats admin if TRUE #如果认证通过就做管理功能,可以管理后端的服务器
stats realm Hapadmin # 统计页面密码框上提示文本,默认为Haproxy\ Statistics
http://s5.运维网.com/wyfs02/M01/8A/41/wKiom1gr8QqQZJB_AAGxeaYzPBQ948.png
案例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 dynamic
backend dynamic
    mode http
    balance roundrobin
    server node2 192.168.211.140:80 cookie 1 weight 5 check inter 2000 rise 1 fall 1
backend static
    mode http
    balance roundrobin
    server node1 192.168.211.128:80 cookie 1 weight 5 check inter 2000 rise 1 fall 1http://s4.运维网.com/wyfs02/M01/8A/3D/wKioL1gr8SKw7YlKAAE_Sqp46gE163.gif
案例4:实现web负载
http://s5.运维网.com/wyfs02/M02/8A/41/wKiom1gr8LfAnFC4AACooTvFuEI011.png1、node1安装http和测试页面
# yum -y install httpd
# cd /var/www/html/
# echo "Server WWW node1" > index.html
2、node2安装http和测试页面
# yum -y install httpd
# cd /var/www/html/
# echo "Server WWW node2" > index.html
3、haproxy安装配置
# yum -y groupinstall "Development Tools"
# yum -y install haproxy
4、配置文件
# 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 TRUE
frontend main#定义服务器组
    bind *:80
    default_backend server
backend 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、查看监控页面
http://s4.运维网.com/wyfs02/M02/8A/3D/wKioL1gr8MODn-m9AAGxeaYzPBQ213.png6、测试
http://s2.运维网.com/wyfs02/M00/8A/41/wKiom1gr8NPwgUFJAAAdk_xrmq4840.png
http://s5.运维网.com/wyfs02/M00/8A/3D/wKioL1gr8OKCaBvYAAAiunWEwnk288.png
案例5:负载均衡MySQL服务
frontend mysql
    bind *:3306
    mode tcp
    log global
    default_backend mysqlservers
backend 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  




页: [1]
查看完整版本: 高可用高性能负载均衡软件HAproxy详解指南