4tret 发表于 2014-5-5 10:58:53

haproxy 基本应用

haproxy是一种免费、可靠的解决方案 。。用于提供高可用、负载均衡和代理服务,尤其适用于高负载且需要持久连接或7层处理机制的web站点
下面从其基本配置,开启日志功能,统计页面输出相关配置,基于ACL实现动静分离 来演示其功能

haproxy基本配置

haproxy
172.16.15.17
vip (eth1)        192.168.20.1
node1        192.168.20.11
node2        192.168.20.12

haproxy 配两个块网卡
后端两台服务器添加网关 指向192.168.20.1 添加主页

编辑配置文件


frontend websrv *:80
      default_backend webservers
backend webservers
      balance roundrobin
      server node1 192.168.20.11:80 check
      server node2 192.168.20.12:80 check



启动haproxy 访问172.16.15.17 轮巡访问到node1和node2的主页

开启日志

配置文件中全局端
log         127.0.0.1 local2

service rsyslog restart重启日志服务
service haproxy restart


如果在frontend 下添加下面内容 log   127.0.0.1 local3再进行上面操作 则可为单独个frontend 代理记录日志统计页面输出相关设置
1、stats enable不能用在frontend在backend webservers 下面添加 stats enable登录 172.16.15.17/haproxy?stats

2、stats auth进行认证在stats enable下添加 stats auth tom:tom (假如用户名是tom 密码也是tom)

3、stats uri如果进一步进行安全设置 更换访问路径 可以用stats uri在stats enable 下面添加 stats uri /jerry?stats 那么再访问172.16.15.17/haproxy?stats将是404 Not Found
4、更改自定义端口
listenstatistics       bind *:4454       stats enable




5、stats version 隐藏版本listenstatistics      bind *:4454      stats enable      stats uri /jerry?stats      stats hide-version


6、stats admin启用管理接口


基于ACL实现动静分离访问静态页面和动态页面分别定向到特定的服务器先在node1 和node2上都提供静态和动态页面访问文件
node1node2



编辑配置文件frontendwebsrv      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 host_static      hdr_beg(host) -i img. video. down. ftp. imgs. image. videos.    acl url_php         path_end      -i .php    use_backend static          if url_static or host_static   use_backend dynamic          if url_php    default_backend             dynamicackend static    balance   roundrobin    server      node2 192.168.20.12:80checkackend dynamic    balance   roundrobin    server      node1 192.168.20.11:80check根据文件配置 虽然两个后端服务器都提供了动态和静态文件 但是访问静态时由node2来提供 访问动态页面时由node1提供




页: [1]
查看完整版本: haproxy 基本应用