zyllf2009 发表于 2019-1-2 07:21:38

haproxy初步安装配置详解

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服务。
安装和配置
Haproxy 的配置相当简单,
从官方网站:http://www.haproxy.org 下载最新版本。
#wget -Shttp://haproxy.1wt.eu/download/1.3/src/haproxy-1.3.20.tar.gz
# tar -zxvfhaproxy-1.3.20 -C /usr/local/src
# make TARGET=linux26 PREFIX=/usr/local/haproxy
# makinstall PREFIX=/usr/local/haproxy
#cd /usr/local/haproxy && vim haproxy.cfg   #建立配置文件
   简单进行配置:
Global                     #全局配置
maxconn 5120                   #最大连接数
chroot/usr/local/haproxy         
uid   99                     
gid   99
Daemon                        #后台
Quiet                        
nbproc 2                        #2个实例
#pidfile /var/run/haproxy-private.pid            
Defaults                        #默认配置
log   global               
mode    http                      #所处理的类别,采用http模式,
optionhttplog                      #所采用的日志格式
optiondontlognull               
log   127.0.0.1       local3         #输出日志类别
retries 3                           #3次链接失败就认为服务不可用   
optionredispatch                  #当SERVERID对应的服务器挂掉后,强制定向健康的服务器.
Optionabortonclose                  #当服务器负载较高的时候自动结束掉当前队列中处理比较久的连接.
maxconn 2000            
Timeout connect      5000   #连接超时      
Timeout client      50000      #客户端超时
Timeout server      50000   # 服务器超时
listenwebfarm 0.0.0.0:80
mode    http         
balance roundrobin                              #负载均衡算法
cookieSERVERID      insertindirect
optionhttpclose                           #每次请求完毕后,haproxy主动关闭通道.haproxy不支持keepalive.
optionforwardfor                            #获取客户端IP地址
optionhttpchk HEAD /index.htm HTTP/1.0               #检测页面 如出错 返回 503
serverapp_bbs1 192.168.0.250:80 cookie applinst1 check inter 2000 rise 2 fall 5
serverapp_bbs2 192.168.0.251:80 cookie applinst2 check inter 2000 rise 2 fall 5
Listen admin_web                  
Bind 0.0.0.0:88                        #监听88端口
Mode http                  
Option httplog         
Maxconn 10                  
Stats refresh 10                           #页面10s刷新
Stats uri /haproxy-stats                     #统计的页面url
Stats realm evil\Haproxy                     #认证框下的名字
Stats auth admin:redhat                         #认证用户及密码
Stats hide-version                              #隐藏统计页面中的haproxy版本
修改日志:
   # vim /etc/syslog.conf
Local3.*/var/log/haproxy.log
Local0.* /var/log/haproxy.log
# service syslog restart
重启 haproxy:
#/usr/local/haproxy/sbin/haproxy -f /usr/local/haproxy/haproxy.cfg -st `cat /var/run/haproxy.pid`
支持虚拟主机:
Listenwww.bbs.sina.com.cn:8012
Mode http
Option httpchk GET /index.html
Server bbs1 192.168.1.1:8080 check weight=3接受检查,设置权重
Server bbs2 192.168.1.2:8080 check weight=3同上
Listen www.bbs1.sina.com.cn: 8013
Mode http
Option httpchk GET /index.html
Server s1 192.168.1.3:8080 check weight=2
Server s2 192.168.1.4:8080 check weight=2
   



页: [1]
查看完整版本: haproxy初步安装配置详解