[root@mysql login]# cat /etc/haproxy/haproxy.cfg
#---------------------------------------------------------------------# Example configuration for a possible web application. See the# full configuration options online.## http://haproxy.1wt.eu/download/1.4/doc/configuration.txt##---------------------------------------------------------------------#---------------------------------------------------------------------# Global settings#---------------------------------------------------------------------global # to have these messages end up in /var/log/haproxy.log you will # need to: # # 1) configure syslog to accept network log events. This is done # by adding the '-r' option to the SYSLOGD_OPTIONS in # /etc/sysconfig/syslog # # 2) configure local2 events to go to the /var/log/haproxy.log # file. A line like the following can be added to # /etc/sysconfig/syslog # # local2.* /var/log/haproxy.log # log 127.0.0.1 local2 chroot /var/lib/haproxy pidfile /var/run/haproxy.pid maxconn 4000 user haproxy group haproxy daemon # turn on stats unix socket stats socket /var/lib/haproxy/stats#---------------------------------------------------------------------# common defaults that all the 'listen' and 'backend' sections will# use if not designated in their block#---------------------------------------------------------------------defaults mode http log global option httplog #日志格式是httpd格式 option dontlognull #httpd请求完毕,自动关闭连接通道 option http-server-close #不记录健康监测日志 option forwardfor except 127.0.0.0/8 #后端web记录访问的真实ip地址,需要在后端配置文件上记录LogFormat上添加“%{X-Forwarded-For}i” option redispatch #后端server单挂机,自动切换位健康主机 retries 3 #健康监测检查3次 timeout http-request 10s # timeout queue 1m timeout connect 10s timeout client 1m timeout server 1m timeout http-keep-alive 10s timeout check 10s maxconn 3000 errorfile 403 /data/sh/hanye.html errorfile 503 /data/sh/hanye1.html#---------------------------------------------------------------------# main frontend which proxys to the backends#---------------------------------------------------------------------frontend main log global bind :80 bind :8089 maxconn 4000 acl nginx path_beg -i /www /static /images /styles /vides acl nginx path_end -i .jsp .css .js .php .png .jpg acl login path_beg /login redirect location http://192.168.0.171/login/index.php if login acl httpd dst_port 8089 redirect prefix http://www.ny.cn if httpd acl host hdr(host) -i www.hanye.com hanye.com use_backend static if nginx use_backend webserver if host default_backend webserver#---------------------------------------------------------------------backend webserver balance roundrobin cookie webserver insert nocache server s2 192.168.0.170:8080 check port 8080 maxconn 1500 inter 2000 rise 3 fall 3 maxconn 1500 weight 2 #server s1 192.168.0.171:8080 check port 8080 maxconn 1500 inter 2000 rise 3 fall 3 maxconn 1500 weight 2backend static cookie png insert nocache server a1 192.168.0.171:8080 check port 8080 inter 2000 rise 3 fall 3 maxconn 1500listen status bind :19999 stats enable stats hide-version stats scope . stats uri /haroxy?admin stats auth admin:admin stats admin if TRUE[root@mysql login]# cat /etc/haproxy/haproxy.cfg.mysqlglobal # to have these messages end up in /var/log/haproxy.log you will # need to: # # 1) configure syslog to accept network log events. This is done # by adding the '-r' option to the SYSLOGD_OPTIONS in # /etc/sysconfig/syslog # # 2) configure local2 events to go to the /var/log/haproxy.log # file. A line like the following can be added to # /etc/sysconfig/syslog # # local2.* /var/log/haproxy.log # log 127.0.0.1 local2 chroot /var/lib/haproxy pidfile /var/run/haproxy.pid maxconn 4000 user haproxy group haproxy daemondefaults mode tcp log global option tcplog option dontlognull retries 3 timeout http-request 10s timeout queue 1m timeout connect 10s timeout client 1m timeout server 1m timeout http-keep-alive 10s timeout check 10s maxconn 600listen stats mode http bind 0.0.0.0:1080 stats enable stats hide-version stats uri /haproxyadmin?stats stats realm Haproxy\ Statistics stats auth admin:admin stats admin if TRUEfrontend mysql bind *:1000 mode tcp log global default_backend mysqlserversbackend mysqlservers balance leastconn server dbsrv1 192.168.0.170:3306 check port 3306 inter 2000 rise 1 fall 2 maxconn 300 weight 2 server dbsrv2 192.168.0.171:3306 check port 3306 inter 2000 rise 1 fall 2 maxconn 300 weight 1