haproxy

来源:互联网 发布:网络运维工程师招聘 编辑:程序博客网 时间:2024/06/10 15:36

1.安装haproxy(ubuntu server)

下载haproxy-1.7.9,并解压至home目录中(~/haproxy-1.7.9)

编译:make TARGET=Linux26 ARCH=x86_64 PREFIX=/usr/local/haproxy

target(OS内核版本)、arch(OS位数)、prefix(安装路径)一定要大写,linux2.6以上的版本,我们都选择Linux26,查看内核版本:uname -a

安装:sudo make install PREFIX=/usr/local/haproxy

完成后再/usr/local/haproxy目录下生成以下目录:


2.haproxy配置

创建配置文件/etc/haproxy/haproxy.cfg

global    log               /dev/log              local1                     #[日志输出配置,所有日志都记录在本机,通过local0输出]    log               /dev/log              local2              notice #定义haproxy 日志级别[error warringinfo debug]    daemon                                                             #以后台形式运行harpoxy    nbproc            1                                                #设置进程数量    pidfile           /usr/local/haproxy/haproxy.pid    user              haproxy    group             haproxy   maxconn           4096                                             #默认最大连接数,需考虑ulimit-n限制    #chroot            /usr/local/haproxydefaults    log               global    mode              tcp                                              #默认的模式(tcp|http|health),tcp是4层,http是7层,health只会返回OK    option            tcplog                                           #日志级别    option            dontlognull                                      #不记录健康检查日志信息    option            abortonclose                                     #当服务器负载很高的时候,自动结束掉当前队列处理比较久的链接    option            redispatch                                       #serverId对应的服务器挂掉后,强制定向到其他健康的机器    retries           3                                                #连接3次失败就认为是服务不可用    timeout           connect                5000ms                    #连接超时    timeout           client                 30000ms                   #客户端超时    timeout           server                 30000ms                   #服务器超时    timeout           check                  3000                      #心跳检测超时listen admin_stats    bind              *:8060                                           #设置监听的IP地址和端口    mode              http                                             #http的7层模式    option            httplog                                          #采用http日志格式    maxconn           10                                               #默认的最大连接数    stats             refresh                30s                       #统计页面自动刷新时间    stats             uri                    /stats                    #统计页面url    stats             realm                  Haproxy Manager           #统计页面密码框上提示文本    stats             auth                   admin:admin               #设置监控页面的用户和密码,可以设置多个    stats             auth                   root:Password@1           #设置监控页面的用户和密码    stats             hide-version                                     #隐藏统计页面上HAProxy的版本信息    stats             admin if TRUE                                    #设置手工启动/禁用,后端服务器listen mysql_rcw_7706    bind              *:7706    mode              tcp    option            tcplog    balance           roundrobin    option            tcp-check    maxconn           2000    log               /dev/log               local1               info    server            mysql61 192.168.56.103:7002 maxconn 1024 check inter 2000 rise 2 fall 3    server            mysql62 192.168.56.104:7002 maxconn 1024 check inter 2000 rise 2 fall 3listen mysql_rcr_7707    bind              *:7707    mode              tcp    option            tcplog    balance           roundrobin    option            tcp-check    maxconn           2000    log               /dev/log               local1               info    server            mysql61 192.168.56.103:7001 maxconn 1024 check inter 2000 rise 2 fall 3    server            mysql62 192.168.56.104:7001 maxconn 1024 check inter 2000 rise 2 fall 3


3.log配置

在/etc/rsyslog.conf文件中添加:

#haproxy

local1.* /var/log/haproxy.log

local2.* /var/log/haproxy/log

在/etc/rsyslog.d/50-default.conf文件中找到 -/var/log/syslog行,在其前面key的末尾追加:

;local1.none;local2.none(注意分号表示local1、local2设备的日志信息不再记录于/var/log/syslog里)

local1.* -/var/log/haproxy.log

local2.* -/var/log/haproxy.log

然后重启rsyslog服务:sudo service rsyslog restart


4.启动/停止

启动:/usr/local/haproxy/sbin/haproxy -f /etc/haproxy/haproxy.cfg

#!/bin/sh HOME=/usr/local/haproxyDAEMON=$HOME/sbin/haproxyCONFIG=/etc/haproxy/haproxy.cfgDAEMON_ARGS="-f $CONFIG"DESC="HAProxy Daemon"echo "Starting $DESC, and use conf $DAEMON_ARGS"$DAEMON $DAEMON_ARGS

停止:杀掉pidfile中的进程

#!/bin/sh DESC="HAProxy Daemon"PIDFILE=/usr/local/haproxy/haproxy.pidif test $PIDFILE then   echo  "Stopping $DESC"   if kill $(cat $PIDFILE)   then     echo "Stop OK"   else     echo "Stop Failed"   fi else   echo  "No $DESC running" fi

原创粉丝点击