@Haproxy安装配置

本文详细介绍了Haproxy的基本概念、算法分类、编译安装步骤、配置文件解析、启动脚本、测试方法以及如何通过keepalived实现高可用。Haproxy是一款高效、免费的负载均衡器,尤其适用于高并发场景,且不直接提供HTTP服务。
摘要由CSDN通过智能技术生成


在这里插入图片描述

1.Haproxy 基本介绍

HAProxy提供高可用性、负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费、快速并且可靠的一种解决方案。根据官方数据,其最高极限支持10G的并发。HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要会话保持或七层处理。HAProxy运行在当前的硬件上,完全可以支持数以万计的并发连接。并且它的运行模式使得它可以很简单安全的整合进您当前的架构中, 同时可以保护你的web服务器不被暴露到网络上。

其支持从4层至7层的网络交换,即覆盖所有的TCP协议。就是说,Haproxy 甚至还支持 Mysql 的均衡负载。如果说在功能上,能以proxy反向代理方式实现 WEB均衡负载,这样的产品有很多。包括 Nginx,ApacheProxy,lighttpd,Cheroke 等。

但要明确一点的,Haproxy并不是Http服务器。以上提到所有带反向代理均衡负载的产品,都清一色是WEB服务器。简单说,就是他们能自个儿提供静态(html,jpg,gif…)或动态(php,cgi…)文件的传输以及处理。而Haproxy仅仅,而且专门是一款的用于均衡负载的应用代理。其自身并不能提供http服务。

2.HAProxy的算法分类:

1. roundrobin,表示简单的轮询

2. static-rr,表示根据权重, 

3. leastconn,表示最少连接者先处理, 

4. source,表示根据请求源IP, 

5. uri,表示根据请求的URI;

6. url_param,表示根据请求的URl参数'balance url_param' requires an URL parameter name

7. hdr(name),表示根据HTTP请求头来锁定每一次HTTP请求;

8. rdp-cookie(name),表示根据据cookie(name)来锁定并哈希每一次TCP请求。

3. Haproxy 编译安装

1. 编译安装
tar zxf  haproxy-1.4.22.tar.gz 

tar zxf keepalived-1.2.7.tar.gz

uname -r

make TARGET=linux26 PREFIX=/usr/local/haproxy

make install PREFIX=/usr/local/haproxy


 

2. cp模板文件

cp -ar examples /usr/local/haproxy/

rsync -arvz /usr/local/haproxy/share/man /usr/share/

cp -ar tests /usr/local/haproxy/

cp doc/configuration.txt /usr/local/haproxy/

rsync -arvz soft/haproxy-1.4.22/examples/errorfiles /usr/local/haproxy/

cp examples/haproxy.cfg /usr/local/haproxy/etc/

cp examples/haproxy.init /etc/init.d/haproxy

 

3. Init 脚本的配置,需要修改,在后面介绍

 

chmod a+x /etc/init.d/haproxy

chkconfig --add haproxy

 

4. selinux 的配置

#yum install selinux-policy-devel

#cd contrib/selinux/

#make -f /usr/share/selinux/devel/Makefile

#sudo semodule -i haproxy.pp

#restorecon /usr/sbin/haproxy /etc/haproxy/haproxy.cfg /var/run/haproxy.pid /var/run/haproxy.sock*

#mkdir /usr/local/haproxy/etc

 

 

4. 日志支持,接口和你自己定义的有关系
#vim /etc/syslog.conf 

    local3.*        /var/log/haproxy.log 

    local0.*        /var/log/haproxy.log 

#vim /etc/sysconfig/syslog 

    SYSLOGD_OPTIONS="-r -m 0" 

#service syslog restart 

 

5. Haproxy的相关启动参数
# /usr/local/haproxy/sbin/haproxy –help 

haproxy -f < 配置文件>

[-n 最大并发连接总数] [-N 每个侦听的最大并发数] [-d] [-D] [-q] [-V] [-c] [-p ] [-s] [-l] [-dk]

[-ds] [-de] [-dp] [-db] [-m < 内存限制M>] [{
   -sf|-st} pidlist...]

-d  前台,debug模式

-D  daemon模式启动

-q  安静模式,不输出信息

-V  详细模式

-c 对配置文件进行语法检查

-s  显示统计数据

-l  显示详细统计数据

-dk 不使用kqueue

-ds 不使用speculative epoll

-de 不使用epoll

-dp 不使用poll

-db 禁用后台模式,程序跑在前台

-sf 程序启动后向pidlist里的进程发送FINISH信号,这个参数放在命令行的最后

-st 程序启动后向pidlist里的进程发送TERMINATE信号,这个参数放在命令行的最后

 

列:

# /usr/local/haproxy/sbin/haproxy -c  -f /usr/local/haproxy/etc/haproxy.cfg  # 对haproxy 语法做检查

# /usr/local/haproxy/sbin/haproxy -f /usr/local/haproxy/etc/haproxy.cfg -sf `cat /var/run/haproxy.pid` # reload

# killall haproxy 或者 kill -9 `pidof haproxy`

4.Haproxy 配置文件解说

# cat /usr/local/haproxy/etc/haproxy.cfg 
####################全局配置信息#############参数是进程级的,通常和操作系统(OS)相关######### 

global 

       maxconn 20480                    #默认最大连接数 

       log 127.0.0.1 local3             #[err warning info debug] 

       chroot /usr/local/haproxy        #chroot运行的路径 

       uid 99                          #所属运行的用户uid 

       gid 99                           #所属运行的用户组 

       daemon                          #以后台形式运行haproxy 

       nbproc 1                        #进程数量(可以设置多个进程提高性能) 

       pidfile /var/run/haproxy.pid     #haproxy的pid存放路径,启动进程的用户必须有权限访问此文件 

       ulimit-n 65535                   #ulimit的数量限制 

 

 

#####################默认的全局设置##############这些参数可以被利用配置到frontend,backend,listen组件## 

defaults 

       log global 

       mode http                        #所处理的类别 (#7层 http;4层tcp  ) 

       maxconn 20480                   #最大连接数 

       option httplog                   #日志类别http日志格式 

       option httpclose                 #每次请求完毕后主动关闭http通道 

       option dontlognull               #不记录健康检查的日志信息 

       option forwardfor               #如果后端服务器需要获得客户端真实ip需要配置的参数,可以从Http Header中获得客户端ip  

       option redis
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值