Haproxy负载均衡搭建

1.Haproxy简介
Haproxy特别适用于那些负载特大的web站点,这些站点通常又需要会话保持或七层处理。Haproxy运行在当前的硬件上,
完全可以支持数以万计的并发连接。并且它的运行模式使得它可以很简单安全的整合进您当前的架构中,
同时可以保护你的web服务器不被暴露到网络上。
2.HTTP请求
两种方式:GET方式和POST方式
返回状态码:正常状态码:2xx ,3xx(200,301)
异常状态码:4xx ,5xx(400,500)
3.常用负载均衡调度算法
RR:轮询调度
LC:最少连接数
SH:基于源的访问调度
4、haproxy的配置文件:haproxy.cfg
配置日志请查看最后
Globa(全局段)global:参数是进程级的,通常和操作系统(OS)相关。这些参数一般只设置一次,如果配置无误,就不需要再次配置进行修改;
defaults(默认段)default:配置默认参数的,这些参数可以被利用配置到frontend,backend,listen组件
listen(应用组件设置)Frontend和Backend的组合体
5.Haproxy配置安装
依赖包pcre* bzip2*

[root@localhost]# yum -y install pcre* bzip2*
[root@localhost]# tar zxf haproxy-1.5.19.tar.gz -C /usr/src/
[root@localhost]# cd /usr/src/haproxy-1.5.19/

配置安装

[root@localhost haproxy-1.5.19]# make TARGET=linux26 PREFIX=/usr/local/haproxy  //prefix =安装目录 TARGET:指定linux内核版本,通过:uname -a 26=64位操作系统
[root@localhost haproxy-1.5.19]# make install PREFIX=/usr/local/haproxy  

创建配置目录及文件

[root@localhost]# mkdir /etc/haproxy          //创建配置文件目录
[root@localhost]# cp examples/haproxy.cfg /etc/haproxy/        //将haproxy.cfg文件复制到配置文件目录

复制启动脚本

[root@localhost haproxy-1.5.19]# cp examples/haproxy.init /etc/init.d/haproxy        //创建自启动脚本
[root@localhost haproxy-1.5.19]# chmod +x /etc/init.d/haproxy           //授予执行权限
[root@localhost haproxy-1.5.19]# chkconfig --add /etc/init.d/haproxy              //添加为系统服务

创建软连接

[root@localhost haproxy-1.5.19]# ln -s /usr/local/haproxy/sbin/haproxy /usr/sbin/

创建Haproxy需要的目录

[root@localhost haproxy-1.5.19]# mkdir -p /usr/share/haproxy
[root@localhost haproxy-1.5.19]# mkdir /etc/haproxy/errors
[root@localhost haproxy-1.5.19]# cp examples/errorfiles/* /etc/haproxy/errors/

启动Haproxy服务

[root@localhost]# /etc/init.d/haproxy start 
Starting haproxy (via systemctl):                          [  确定  ]

启动成功!!!
配置haproxy的主配置文件

[root@localhost]# vim /etc/haproxy/haproxy.cfg

// 后是详细解释

#this config needs haproxy-1.1.28 or haproxy-1.2.1

global
        log 127.0.0.1   local0		//配置日志记录,local0为日志设备,默认存放到系统日志
        log 127.0.0.1   local1 notice		//notice为日志级别,通常有24个级别
        #log loghost    local0 info
        maxconn 4096		//最大连接数
        chroot /usr/share/haproxy		
        uid 99		//用户uid
        gid 99		//用户gid
        daemon
        #debug
        #quiet
        
defaults
        log     global		//定义日志为global配置日志定义
        mode    http		//模式为http
        option  httplog		//采用http日志格式记录日志
        retries 3		//检查节点服务器失败次数,连续达到三次失败,则认为节点不可用
        redispatch		//当服务器负载很高时,自动结束当前队列处理比较久的连接
        maxconn 2000		//最大连接数
        contimeout      5000		//连接超时时间
        clitimeout      50000		//客户端超时时间
        srvtimeout      50000		//服务器超时时间
        
listen  appli4-backup 0.0.0.0:10004		//定义一个appli4-backup的应用
        option  httpchk /index.html		//检查服务器的index.html文件
        option  persist		//强制将请求发送到已经down掉的服务器
        balance roundrobin		//负载均衡调度算法使用轮询算法
        server  inst1 192.168.114.56:80 check inter 2000 fall 3		//定义在线节点
        server  inst2 192.168.114.56:81 check inter 2000 fall 3 backup		//定义备份节点

在结尾后可加入

listen  web 0.0.0.0:80
     option httpchk GET /index.html
     balance roundrobin
     server inst1 192.168.3.11:80 check inter 2000 fall 3
     server inst1 192.168.3.12:80 check inter 2000 fall 3

查看测试结果
在这里插入图片描述
搭建完成!!!
Haproxy日志配置
Haproxy的日志默认输出到系统的syslog中,查看起来不是非常方便,为了功耗管理Haproxy的日志,我们在生产环境中一般单独定义出来
1.修改Haproxy主配置文件haproxy.cfg
将global全局配置中的
log 127.0.0.1 local0
log 127.0.0.1 local1 notice
修改为:
log /dev/log local0 info
log /dev/log local0 notice
重启Haproxy,完成配置
2.修改rsyslog配置
touch /etc/rsyslog.d/haproxy.conf
vim /etc/rsyslog.d/haproxy.conf
加入下面内容

if ($programname == 'haproxy' and $syslogseverity-text == 'info') then -/var/log/haproxy/haproxy-info.log
& ~
if ($programname == 'haproxy' and $syslogseverity-text == 'notice') then -/var/log/haproxy/haproxy-notice.log
& ~

保存重启完成配置rsyslog配置
查看文件
在这里插入图片描述
收到请求日志信息完成配置!!!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值