[Linux]haproxy的简单配置

1、安装

方法一:采用yum源直接安装

方法二:使用下载的源码包进行安装,在安装时可使用rpm-biuld将包制作成rpm包进行安装。

2、环境设置

rh7.3

haproxy服务器:172.25.69.1

Apache服务器:172.25.69.2

Apache服务器:172.25.69.3

本地测试主机:172.25.69.250

3、轮询的实现

(1)编辑配置文件

路径:/etc/haproxy/haproxy.cfg

frontend  main *:80
    #acl url_static       path_beg       -i /static /images /javascript /stylesheets
    #acl url_static       path_end       -i .jpg .gif .png .css .js

    #use_backend static          if url_static
    default_backend             static                       #默认使用static

backend static
    balance     roundrobin
    server      static1 172.25.69.2:80 check
    server      static2 172.25.69.3:80 check

(2)本地主机进行测试

4、日志管理

(1)编辑rsylog

添加以下内容

local2.*                       /var/log/haproxy.log

(2)修改配置文件

log        127.0.0.1 local2

(3)重启服务

重启rsylog及haproxy

(4)使用本地主机访问haproxy服务器

访问后产生日志

5、查看服务器状态

(1)修改配置文件的default模块为

    stats uri                   /admin/stats   
	 #在浏览器中172.25.69.1/admin/stats,可查看各个状态
    stats auth                  admin:admin
	#设置进入查看状态页面的账户和密码
    monitor-uri                 /monitoruri
	#查看当前服务器返回的状态码
    stats refresh               5s
	#状态刷新时间

    acl blacklist src 172.25.69.250
	#设置黑名单
    http-request deny if blacklist
    errorloc 403 http://172.25.69.1:8080/index.html   #80端口用来轮询,错误页面只能通过8080

 (2)haproxy服务器安装Apache用于发布错误页面

(3)进行测试

1、进入查看状态页面需输入帐号密码

2、查看服务器的状态

3、查看服务器的状态码

4、当处于黑名单的用户进行访问

6、动静分离

一台Apache服务器用于访问静态页面,一台用于访问动态页面

(1)修改配置文件

路径:/etc/haproxy/haproxy.cfg

在frontend模块处

    default_backend             static
    use_backend dynamic if { path_end .php }

将backend修改为如下:

backend static
    balance     roundrobin
    server      static1 172.25.69.2:80 check

#---------------------------------------------------------------------
# round robin balancing between the various backends
#---------------------------------------------------------------------
backend dynamic
    balance     roundrobin
    server      dynameic1 172.25.69.3:80 check

(2)分别在Apache服务器上设置发布页面

(3)测试

访问的内容为动态页面,则访问Apache服务器2

访问的内容为静态页面,则访问Apache服务器1

7、读写分离

一台Apache服务器用于读取数据,一台用于上传数据

(1)修改配置文件

在default模块

    acl read method HEAD
    acl read method GET
    acl write method POST
    acl write method PUT

    use_backend static if write
    use_backend dynamic if read

在bekend模块

backend static
    balance     roundrobin
    server      static1 172.25.69.2:80 check

backend dynamic
    balance     roundrobin
    server      dynameic1 172.25.69.3:80 check

(2)测试

Apache服务器1得到上传数据

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值