Haproxy配置-新手入门篇

这是一篇学习笔记,之前看Haproxy的配置使用,真是一头雾水,有一些配置项,都不知道是做什么用的?更别说灵活配置了,所以这次下定决心,从官方的网站上从头开始看配置文档,因为官方的文档是英文,本人的英文比较烂,在看的过程中做了这个笔记。

官方的文档:http://cbonte.github.io/haproxy-dconv/1.7/configuration.html

一、配置优先级

在Haproxy中配置的参数主要有几下来源(按照优先级高到低排序):

  1. 命令行
  2. global
  3. default
  4. listen、frontend、backend

二、时间格式

  • us : 微妙. 1 微妙 = 1/1000000 秒
  • ms : 毫秒. 1 毫秒 = 1/1000 秒. (默认的时间单位是:秒)
  • s : 秒. 1秒 = 1000 毫秒
  • m : 分. 1分 = 60秒 = 60000 毫秒
  • h : 小时. 1小时 = 60分 = 3600秒 = 3600000毫秒
  • d : 天. 1天 = 24小时 = 1440分 = 86400秒 = 86400000毫秒

 三、测试配置命令

/usr/local/haproxy/sbin/haproxy -f /usr/local/haproxy/conf/haproxy.cfg -c

四、配置项详解

为了能够对配置有一些更清晰的了解。我将整个haproxy的配置拆分成了众多的维度。下面来逐个介绍说明:

4.1   Haproxy中 global 部分的配置

4.2  Userlists的配置

userlist <listname>
group <groupname> [users <user>,<user>,(…)]
user <username> [password|insecure-password <password>] [groups <group>,<group>,(…)]

举例:

userlist L1
  group G1 users tiger,scott
  group G2 users xdb,scott
  user tiger password $6$k6y3o.eP$JlKBx9za9667qe4(...)xHSwRv6J.C0/D7cV91
  user scott insecure-password elgato
  user xdb insecure-password hello

userlist L2
  group G1
  group G2
  user tiger password $6$k6y3o.eP$JlKBx(...)xHSwRv6J.C0/D7cV91 groups G1
  user scott insecure-password elgato groups G1,G2
  user xdb insecure-password hello groups G2

 4.3 Peers的配置

peers <peersect>
disabled
enable
peer <peername> <ip>:<port>

举例:

peers mypeers
    peer haproxy1 192.168.0.1:1024
    peer haproxy2 192.168.0.2:1024
    peer haproxy3 10.2.0.1:1024

backend mybackend
    mode tcp
    balance roundrobin
    stick-table type ip size 20k peers mypeers
    stick on src
    server srv1 192.168.0.30:80
    server srv2 192.168.0.31:80

 4.4 Mailers的配置

mailers <mailersect>
mailer <mailername> <ip>:<port>
timeout mail <time>

mailers mymailers
    timeout mail 20
    mailer smtp1 192.168.0.1:587
    mailer smtp2 192.168.0.2:587

backend mybackend
    mode tcp
    balance roundrobin
    email-alert mailers mymailers
    email-alert from test1@horms.org
    email-alert to test2@horms.org
    server srv1 192.168.0.30:80
    server srv2 192.168.0.31:80

4.5 default、listen、frontend、backend的配置

参考:haproxy中的default、listen、frontend、backend的配置

发表评论

电子邮件地址不会被公开。 必填项已用*标注

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>