zzzzy09

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

LOG 功能:

  编辑/etc/rsyslog.conf 配置文件:

# Provides UDP syslog reception
$ModLoad imudp              #需要启用
$UDPServerRun 514             #启动syslog 服务

# Provides TCP syslog reception
#$ModLoad imtcp
#$InputTCPServerRun 514


# Save news errors of level crit and higher in a special file.
uucp,news.crit                                          /var/log/spooler

# Save boot messages also to boot.log
local7.*                                                /var/log/boot.log

local2.*                                                /var/log/haproxy/haproxy.log      #指定 log 输出位置

 

配置案例一:

#---------------------------------------------------------------------
# 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       #日志设定,需要在/etc/rsyslog.conf 配置文件中进行设定。

    chroot      /var/lib/haproxy    #修改haproxy 工作目录
    pidfile     /var/run/haproxy.pid
    maxconn     4000            #允许最大连接
    user        haproxy
    group       haproxy    
    daemon                #以守护进程方式进行运行,否则在前台进行工作

    # turn on stats unix socket
    stats socket /var/lib/haproxy/stats  #stats 工作目录

#---------------------------------------------------------------------
#Proxies 配置段,代理的配置在这
# common defaults that all the 'listen' and 'backend' sections will
# use if not designated in their block                                     
#---------------------------------------------------------------------
defaults            #Proxies 的默认配置
    mode                    http    #默认代理模式    
    log                     global    #全局的syslog  服务器,可以定义多个
    option                  httplog    #日志格式
    option                  dontlognull 
    option http-server-close            #代理主动断开超时连接
    option forwardfor       except 127.0.0.0/8    #代理默认向后端插入 X-Forwarded-For  ,mode 必须  http 
    option                  redispatch        
    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                 3000

#---------------------------------------------------------------------
#stats 配置实例
#---------------------------------------------------------------------


listen stats_test #配置stats 监听实例 bind *:1080 #绑定监听端口 1080 stats enable #启动stats 功能 stats hide-version #隐藏 haproxy 版本 #stats scope . #指定管理范围 stats uri /haproxyadmin?stats #指定访问路径 stats realm "HAproxy\ Statistics" #指定名称 stats auth zy:zzzzy #指定认证用户名,密码 stats admin if TRUE #启用管理功能
 
#---------------------------------------------------------------------

# main frontend
which proxys to the backends #--------------------------------------------------------------------- frontend http_porxy #前端虚拟负载配置项,定义名称main ,或者别的 bind :80 #配置监听端口,有多种写法 bind :443 ssl crt /etc/haproxy/site.pem #监听端口绑定证书 acl url_static path_beg -i /static /images /javascript /stylesheets #acl 规则编辑,acl <aclname> <criterion> [flags] [operator] <value> ... acl url_static path_end -i .jpg .gif .png .css .js #先定义规则然后在 use_backend 进行引用 use_backend static if url_static #匹配规则,匹配的规则调用值 static 节点池 default_backend app #默认节点池 #--------------------------------------------------------------------- # static backend for serving up images, stylesheets and such #--------------------------------------------------------------------- backend static #定义static 节点池 # mode tcp mode http #指定负载模式 # blance static-rr 动态轮询负载 # blance leastconn 最小连接负载 # blance souce 基于源地址 hash 的负载 # blance hdr(Host) 基于访问请求中的Host 的负载 # balance roundrobin cookie SERVERID insert nocache indirect #插入 SERVERID cookie name ,并在后续用户访问时,利用cookie 维持会话 server web1 192.68.100.101:80 check inter 5000 rise 3 fall 3 weight 10 maxconn 2000 cookie webserver01 #指定server 状态监测,权重,最大连接和cookie 值 server web2 192.68.100.103:80 check inter 5000 rise 3 fall 3 weight 10 maxconn 2000 cookie webserver02 #--------------------------------------------------------------------- # round robin balancing between the various backends #--------------------------------------------------------------------- backend app balance roundrobin server app1 127.0.0.1:5001 check server app2 127.0.0.1:5002 check server app3 127.0.0.1:5003 check server app4 127.0.0.1:5004 check

 

配置案例二:

#通过ACL 进行动静分离的配置

global 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 defaults mode http log global option httplog option dontlognull option http-server-close option forwardfor except 127.0.0.0/8 option redispatch 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 30000 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 http-in bind *:80 mode http log global option httpclose option logasap option dontlognull capture request header Host len 20 capture request header Referer len 60 acl url_static path_beg -i /static /images /javascript /stylesheets acl url_static path_end -i .jpg .jpeg .gif .png .css .js use_backend static_servers if url_static default_backend dynamic_servers backend static_servers balance roundrobin server imgsrv1 172.16.200.7:80 check maxconn 6000 server imgsrv2 172.16.200.8:80 check maxconn 6000 backend dynamic_servers cookie srv insert nocache balance roundrobin server websrv1 172.16.200.7:80 check maxconn 1000 cookie websrv1 server websrv2 172.16.200.8:80 check maxconn 1000 cookie websrv2 server websrv3 172.16.200.9:80 check maxconn 1000 cookie websrv3

 

 配置案例 MySQL服务的配置示例:

MySQL服务的配置示例

#---------------------------------------------------------------------
# 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

defaults
    mode                    tcp
    log                     global
    option                  httplog
    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 *:3306
    mode tcp
    log global
    default_backend mysqlservers

backend mysqlservers
    balance leastconn
    server dbsrv1 192.168.10.11:3306 check port 3306 intval 2 rise 1 fall 2 maxconn 300
    server dbsrv2 192.168.10.12:3306 check port 3306 intval 2 rise 1 fall 2 maxconn 300

 

posted on 2019-03-06 17:24  zzzzy09  阅读(181)  评论(0编辑  收藏  举报