HAProxy子配置文件保存配置
当业务众多时,将所有配置都放在一个配置文件中,会造成维护困难。可以考虑按业务分类,将配置信息拆分,放在不同的子配置文件中,从而达到方便维护的目的。
#配置参数
listen #可以采用后面形式命名:业务-服务-端口号
bind #指定HAProxy的监听地址,可以是IPV4或IPV6,可以同时监听多个IP或端口,可同时用于listen字段中
server 配置
#针对一个server配置
check #对指定real进行健康状态检查,如果不加此设置,默认不开启检查,只有check后面没有其它配置也可以启用检查功能
inter <num> #健康状态检查间隔时间,默认2000 ms
fall <num> #后端服务器从线上转为线下的检查的连续失效次数,默认为3
rise <num> #后端服务器从下线恢复上线的检查的连续有效次数,默认为2
backup #将后端服务器标记为备份状态,只在所有非备份主机down机时提供服务,类似Sorry Server
注意: 子配置文件的文件后缀必须为.cfg
#创建子配置目录
[root@haproxy ~]#mkdir /etc/haproxy/conf.d/
#创建子配置文件,注意:必须为cfg后缀非.开头的配置文件
[root@haproxy ~]#vim /etc/haproxy/conf.d/test.cfg
listen ha1_web_80
bind 10.0.0.7:80
server rs1 10.0.0.17:80 check inter 3000 fall 2 rise 5
server rs2 10.0.0.27:80 check inter 3000 fall 2 rise 5
server local 127.0.0.1:80 backup
#添加子配置目录到unit文件中
[root@haproxy ~]#vim /lib/systemd/system/haproxy.service
[Unit]
Description=HAProxy Load Balancer
After=syslog.target network.target
[Service]
#修改下面两行
ExecStartPre=/usr/sbin/haproxy -f /etc/haproxy/haproxy.cfg -f /etc/haproxy/conf.d/ -c -q
ExecStart=/usr/sbin/haproxy -Ws -f /etc/haproxy/haproxy.cfg -f /etc/haproxy/conf.d/ -p /var/lib/haproxy/haproxy.pid
ExecReload=/bin/kill -USR2 $MAINPID
LimitNOFILE=100000
[Install]
WantedBy=multi-user.target
[root@haproxy ~]#systemctl daemon-reload
[root@haproxy ~]#systemctl restart haproxy.service