Haproxy安装及配置

wget https://github.com/haproxy/haproxy/archive/v1.7.0.tar.gz
tar -xzvf v1.7.0.tar.gz
cd haproxy-1.7.0
make TARGET=linux26 PREFIX=/data/haproxy #haproxy安装位置
make install PREFIX=/data/haproxy
#参数说明TARGET=linux26 #内核版本,使用uname -r查看内核,如:2.6.18-371.el5,此时该参数就为linux26;kernel 大于2.6.28的用:TARGET=linux2628ARCH=x86_64 #系统位数PREFIX=/usr/local/haprpxy #/usr/local/haprpxy为haprpxy安装路径

建立配置文件:Haproxy.cfg
启动:
/data/haproxy/sbin/haproxy -f /data/haproxy/haproxy.cfg
结束
ps -ef|grep haproxy
Kill -2 pid
查看状态
http://ip:1080/stats
Haproxy.cfg:
###########全局配置#########
global
    log 127.0.0.1 local0 #[日志输出配置,所有日志都记录在本机,通过local0输出]
    log 127.0.0.1 local1 notice #定义haproxy 日志级别[error warringinfo debug]
    daemon #以后台形式运行harpoxy
    nbproc 1 #设置进程数量
    maxconn 4096 #默认最大连接数,需考虑ulimit-n限制
    #user haproxy #运行haproxy的用户
    #group haproxy #运行haproxy的用户所在的组
    #pidfile /var/run/haproxy.pid #haproxy 进程PID文件
    #ulimit-n 819200 #ulimit 的数量限制
    #chroot /usr/share/haproxy #chroot运行路径
    #debug #haproxy 调试级别,建议只在开启单进程的时候调试
    #quiet

########默认配置############
defaults
    log global
    mode http #默认的模式mode { tcp|http|health },tcp是4层,http是7层,health只会返回OK
    option httplog #日志类别,采用httplog
    option dontlognull #不记录健康检查日志信息
    retries 2 #两次连接失败就认为是服务器不可用,也可以通过后面设置
    #option forwardfor #如果后端服务器需要获得客户端真实ip需要配置的参数,可以从Http Header中获得客户端ip
    option httpclose #每次请求完毕后主动关闭http通道,haproxy不支持keep-alive,只能模拟这种模式的实现
    #option redispatch #当serverId对应的服务器挂掉后,强制定向到其他健康的服务器,以后将不支持
    option abortonclose #当服务器负载很高的时候,自动结束掉当前队列处理比较久的链接
    maxconn 4096 #默认的最大连接数
    timeout connect 5000ms #连接超时
    timeout client 30000ms #客户端超时
    timeout server 30000ms #服务器超时
    #timeout check 2000 #心跳检测超时
    #timeout http-keep-alive10s #默认持久连接超时时间
    #timeout http-request 10s #默认http请求超时时间
    #timeout queue 1m #默认队列超时时间
     #balance roundrobin #设置默认负载均衡方式,轮询方式
    #balance source #设置默认负载均衡方式,类似于nginx的ip_hash
   balnace leastconn #设置默认负载均衡方式,最小连接数

########统计页面配置########
listen stats
    bind 0.0.0.0:1080 #设置Frontend和Backend的组合体,监控组的名称,按需要自定义名称
    mode http #http的7层模式
    option httplog #采用http日志格式
    #log 127.0.0.1 local0 err #错误日志记录
    maxconn 10 #默认的最大连接数	
    stats refresh 30s #统计页面自动刷新时间
    stats uri /stats #统计页面url
    stats realm XingCloud\ Haproxy #统计页面密码框上提示文本
    stats auth admin:admin #设置监控页面的用户和密码:admin,可以设置多个用户名
    stats auth Frank:Frank #设置监控页面的用户和密码:Frank
    stats hide-version #隐藏统计页面上HAProxy的版本信息
    stats admin if TRUE #设置手工启动/禁用,后端服务器(haproxy-1.4.9以后版本)

########设置haproxy 错误页面#####
#errorfile 403 /home/haproxy/haproxy/errorfiles/403.http
#errorfile 500 /home/haproxy/haproxy/errorfiles/500.http
#errorfile 502 /home/haproxy/haproxy/errorfiles/502.http
#errorfile 503 /home/haproxy/haproxy/errorfiles/503.http
#errorfile 504 /home/haproxy/haproxy/errorfiles/504.http
####################################################################
listen http_front
	bind 0.0.0.0:1080           #监听端口  
	stats refresh 30s           #统计页面自动刷新时间  
	stats uri /haproxy?stats            #统计页面url  
	stats realm Haproxy Manager #统计页面密码框上提示文本  
	stats auth admin:admin      #统计页面用户名和密码设置  
	#stats hide-version         #隐藏统计页面上HAProxy的版本信息

#####################我把RabbitMQ的管理界面也放在HAProxy后面了
listen rabbitmq_admin 
    bind 0.0.0.0:15673
    timeout connect 5000ms 
    timeout client 30000ms 
    timeout server 30000ms
    server node1 10.160.84.74:15672
    server node2 10.160.84.75:15672 
####################################################################
listen rabbitmq_cluster 
    bind 0.0.0.0:5673
    option tcplog
    mode tcp
    timeout connect 5000ms 
    timeout client 30000ms 
    timeout server 30000ms 
    option          clitcpka
    balance roundrobin      #负载均衡算法(#banlance roundrobin 轮询,balance source 保存session值,支持static-rr,leastconn,first,uri等参数)
    #balance url_param userid
    #balance url_param session_id check_post 64
    #balance hdr(User-Agent)
    #balance hdr(host)
    #balance hdr(Host) use_domain_only
    #balance rdp-cookie
    #balance leastconn
    #balance source //ip
    server   node1 ip1:5672 check inter 5s rise 2 fall 3   #check inter 2000 是检测心跳频率,rise 2是2次正确认为服务器可用,fall 3是3次失败认为服务器不可用
    server   node2 ip2:5672 check inter 5s rise 2 fall 3




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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值