HAProxy配置

前言

Haproxy是一个负载均衡服务器,能够提供4层,7层代理,并能支持上万级别的连接,你可以直接在WEB服务器前端加上它,而不影响应用的访问,完全透明。

安装

$ wget http://haproxy.1wt.eu/download/1.4/src/haproxy-1.4.8.tar.gz
$ tar -zxvf haproxy-1.4.8.tar.gz
$ cd haproxy-1.4.8
$ ./configure --prefix=/path/to/haproxy
$ make && make install

配置

首先要添加haproxy:haproxy用户:

$ groupadd haproxy
$ useradd -g haproxy haproxy

查看uid和gid

$ sudo cat /etc/passwd |grep haproxy 

编辑haproxy.cfg,添加如下内容:

global
    log 127.0.0.1   local3
    maxconn 4096            #最大连接数
    chroot /path/to/haproxy #安装目录
    uid 535  #用户haproxy
    gid 520  #组haproxy
    daemon   #守护进程运行
    nbproc 1 #进程数量
    pidfile logs/haproxy.pid

defaults

   log     127.0.0.1       local3
   mode    http       #layer 7代理
   option  httplog
   option  httpclose
   option  dontlognull
   option  forwardfor
   retries 2
   maxconn 2000
   balance roundrobin
   stats   uri     /haproxy-stats
   contimeout      5000
   clitimeout      50000
   srvtimeout      50000

frontend http-in

    bind *:80 #监听地址
    default_backend pool1

backend pool1

    option  httpchk GET /test.php #用来做健康检查
    stats refresh 2
    server server1 192.168.1.1:82 weight 3 maxconn 32 check #check表示对这个server进行健康检查
    server server2 192.168.1.2:82 weight 3 maxconn 32 check

查看后端server状态: http://example.com/haproxy-stats

启动

$ sudo ./sbin/haproxy -f haproxy.cfg

重启

$ sudo ./sbin/haproxy -f haproxy.cfg -st `cat logs/haproxy.pid`

日志问题

有童鞋说日志怎么也写不进去,我也遇到了这个问题,在这里分享下。 编辑/etc/syslog.conf文件,添加:

local3.*    /var/log/haproxy.log

编辑/etc/sysconfig/syslog文件,把

SYSLOGD_OPTIONS="-m 0"

改成

SYSLOGD_OPTIONS="-r -m 0" #enables logging from remote machines

重启syslogd:

/etc/init.d/syslog restart 

通过tail应该可以看到日志输出了:

tail -f -n 30 /var/log/haproxy.log 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Haproxy 是一款开源的负载均衡软件,它可以将客户端的请求分发到多个后端服务器上,实现高可用和高性能。下面是 Haproxy 配置的详解: 1. 全局配置: 在配置文件的顶部,你可以设置一些全局的参数,如日志记录、最大并发连接数等。例如: ``` global log /dev/log local0 log /dev/log local1 notice chroot /var/lib/haproxy stats socket /run/haproxy/admin.sock mode 660 level admin stats timeout 30s user haproxy group haproxy daemon ``` 这里设置了日志记录到本地,并指定了管理员的访问权限。 2. 默认配置: 在全局配置之后,可以设置默认的参数,这些参数会应用到所有的后端服务器。例如: ``` defaults log global mode http option httplog option dontlognull timeout connect 5000 timeout client 50000 timeout server 50000 ``` 这里将日志记录设置为全局生效,使用 HTTP 模式,并设置了连接和超时时间。 3. 前端配置: 在 Haproxy 中,前端指的是接收客户端请求的部分。你可以指定监听的 IP 和端口,并设置一些负载均衡算法。例如: ``` frontend www-frontend bind *:80 mode http default_backend www-backend frontend api-frontend bind *:8080 mode http default_backend api-backend ``` 这里定义了两个前端配置,分别监听 80 和 8080 端口,并分发到对应的后端服务器。 4. 后端配置: 在前端配置之后,需要指定后端服务器的地址和端口,并设置一些额外的参数。例如: ``` backend www-backend mode http balance roundrobin option httpchk HEAD /index.html HTTP/1.1\r\nHost:localhost server web1 192.168.0.1:80 check server web2 192.168.0.2:80 check backend api-backend mode http balance leastconn option httpchk GET /healthcheck server api1 192.168.0.3:8080 check server api2 192.168.0.4:8080 check ``` 这里定义了两个后端配置,使用不同的负载均衡算法,并设置了健康检查和服务器的地址。 以上是 Haproxy 配置的一些基本说明,你可以根据自己的需求进行灵活配置。请注意,配置文件的语法要符合 Haproxy 的要求,否则可能会导致错误或无效的配置

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值