关于haproxy的相关配置文件详解
[root@localhost ~]# vim /etc/haproxy/haproxy.cfg
global #全局配置参数段,用来控制haproxy启动前的进程及系统相关设置
log 127.0.0.1:514 local0 warning
#log全局的日志配置,指定使用127.0.0.1:514的syslog服务中local0日志设备,日志级别是warning或err,不要用info
log 127.0.0.1 local1 notice #默认的配置
chroot /usr/local/haproxy/var/chroot #安全的参数,当出现问题时候,会来保护
daemon #以守护进程方式运行
group haproxy
user haproxy #运行时的用户和组
pidfile /usr/local/haproxy/var/run/haproxy.pid #进程号的文件路径
maxconn 20480 #最大进程并发连接数
nbproc 8 #设置启动进程时候启动的进程数,跟cup核数相等即可
spread-checks 3
defaults #配置一些默认参数,如frontend,backend,listen等段未设置则使用defaults设置
log global
mode http #支持的模式:http/tcp/health,七层/四层/健康
option httplog
option dontlognull
retries 3 #定义连接后端服务器的失败重连次数,连接失败次数超过此值,将对后端服务器标记为不可用
redispatch
#使用cookie时,当后端服务器宕机,但客户端cookie不刷新,该参数将客户端的请求强制定向到另外后端服务器上,保证服务正常。
maxconn 2000
contimeout 5000 #设置成功连接到一台服务器的最长等待时间,默认毫秒
clitimeout 50000 #设置连接客户端发动数据时的成功连接最长等待时间,默认毫秒
srvtimeout 50000 #设置服务器端回应客户数据发送的最长等待时间,默认毫秒。
#frontend:用来匹配接收客户所请求的域名,uri等,并针对不同的匹配,做不同的请求处理
#backend:定义后端服务器集群,以及后端服务器的一些权重等设置
listen test 172.10.10.5:80 #监听的名字、监听的vip和端口,也可写成:listen test 172.10.10.5:80
mode http #模式,这里优先
stats enable
stats uri /admin?stats #web界面的uri,访问时格式:http://调度IP或域名/admin?stats
stats hide-version
stats auth admin:123456
balance roundrobin #负载均衡策略,轮询
option forwardfor #在web网站配置日志中能够看到客户端真实的IP,不好演示,做一个说明即可。
option httpchk HEAD /check.html HTTP/1.0 #健康检查机制,检查html
timeout server 15s
timeout connect 15s
option httpclose
cookie SERVERID rewrite
server web1 192.168.4.100:80 cookie A maxconn 2048 weight 1 check port 80 inter 2000 rise 2 fall 5
server web2 192.168.4.200:80 cookie B maxconn 4096 weight 1 check port 80 inter 2000 rise 2 fall 5