haproxy配置mysql原理_haproxy高可用web和mysql配置实例

[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 2

backend static

cookie png insert nocache

server a1 192.168.0.171:8080  check port 8080 inter 2000 rise 3 fall 3  maxconn 1500

listen 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.mysql

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

defaults

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                 600

listen 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 TRUE

frontend mysql

bind *:1000

mode tcp

log global

default_backend mysqlservers

backend 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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值