haproxy安装配置及haproxy+keepalived配置
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了haproxy安装配置及haproxy+keepalived配置相关的知识,希望对你有一定的参考价值。
一、haproxy安装
操作系统:centos6.5
haproxy是一个提供高可用、负载均衡的开源的代理服务器,haproxy安装可以源码安装也可以yum安装,本文采用yum安装,yum安装非常便捷。挂载本地镜像,yum安装haproxy。
yum -y install haproxy
安装成功,是不是非常方便。查询haproxy版本
二、haproxy配置
查看haproxy配置文件,本文配置文件已做了部分修改。
本文已经搭建好两台简单的web服务器,就是nginx的基础页面,但略有不同
web服务器1:192.168.174.128(hostname:www.jzz.nginx 默认页面:helloworld)
Web服务器2:192.168.174.131(hostname:www.jzztest.org 默认页面:nginx安装后默认页面)
cat /etc/haproxy/haproxy.cfg | egrep -v ‘(#|^$)‘
global -----------------------------------------------------------------全局配置
log 127.0.0.1 local2 ---------------日志输出配置
chroot /var/lib/haproxy --------------haproxy工作目录
pidfile /var/run/haproxy.pid ----------haproxy的pid目录
maxconn 4000 -------------------------最大连接数(默认配置)
user haproxy -------------------------运行haproxy用户
group haproxy -------------------------haproxy所属组
daemon --------------------------------后台启动
stats socket /var/lib/haproxy/stats ----这个不知道,后续补充
defaults ----------------------------------------------------------------默认配置
mode http -------------------------默认模式mod{tcp|http|health}
log global -------------------------日志系统与global段相同
option httplog -----------------------日志类别采用httplog
option dontlognull -----------------不记录健康检查日志
option http-server-close ------------------------每次请求完毕后主动关闭http通道
option forwardfor except 127.0.0.0/8 ----后端服务器需要获得客户端真实ip需要配置的参数
option redispatch ------------------当请求的服务器挂掉之后强行切换到健康的服务器
retries 3 -------------------------3次连接服务器失败后确定服务器不可用
timeout http-request 10s -------------------默认http请求超时时间(可优化)
timeout queue 1m ----------------------默认队列超时时间(可优化)
timeout connect 10s ----------------------默认连接超时时间(可优化)
timeout client 1m --------------------------默认客户端超时时间(可优化)
timeout server 1m -----------------------默认服务器超时时间(可优化)
timeout http-keep-alive 10s -------------------默认持久连接超时时间(可优化)
timeout check 10s -----------------------默认心跳检测超时时间(可优化)
maxconn 3000 -------------------最大连接数,不要超过全局配置最大连接数
listen stats_auth ----------------------------------------------------监控页面及监听端口混合配置,做的有点差,仅做参考
bind 192.168.174.130:8000 ------------------------绑定监控页面监听端口
stats uri /status ------------------------------------------haproxy监控页面
stats auth admin:westos ----------------------------配置监控页面账号密码登录
stats refresh 5s ------------------------------------------监控页面自动刷新时间
stats hide-version ------------------------------------隐藏监控页面haproxy版本号,保障安全
listen www.jzz.nginx *:8088 ----------------监听的实例名称、地址和端口,可配置多个
server web1 192.168.174.128:80 cookie app1inst1 check inter 2000 rise 2 fall 5 -----后端web服务器ip及其他配置
listen www.jzztest.org *:8089 ----------------监听的实例名称、地址和端口,可配置多个
server web2 192.168.174.131:80 cookie app1inst2 check inter 2000 rise 2 fall 5 -----后端web服务器ip及其他配置
listen localhost.localdomain *:80 -------------------
balance roundrobin ------------------------负载均衡算法(有roundrobin、static-rr、leastconn、source、url、url_param、hdr、rdp_cookie)
frontend main *:5000 -----------------------------------------------------------------------frontend前端配置,为haproxy安装时就有,能力有限,不再解释
acl url_static path_beg -i /static /images /javascript /stylesheets
acl url_static path_end -i .jpg .gif .png .css .js
use_backend static if url_static
default_backend app
backend static ----------------------------------------------------------------------------------backend前端配置,为haproxy安装时就有,能力有限,不再解释
balance roundrobin
server static 127.0.0.1:4331 check
backend app ----------------------------------------------------------------------------------backend前端配置,为haproxy安装时就有,能力有限,不再解释
balance roundrobin
server app1 127.0.0.1:5001 check
server app2 127.0.0.1:5002 check
server app3 127.0.0.1:5003 check
server app4 127.0.0.1:5004 check
启动haproxy服务
service haproxy start
访问haproxy监控页面端口下的/status,为了安全起见,第一次登陆需要账号密码,账号密码就是配置文件里设置的
进入监控页面,在这里可以看到我们的配置
访问haproxy服务器ip的8088端口,可以发现跳转到了Web服务器1
访问haproxy服务器ip的8089端口,可以发现跳转到了Web服务器2
也可以设置域名访问到不同web服务器,但要在本地host绑定域名ip对应关系。
haproxy服务器配置成功
个人总结:haproxy安装非常方便,但haproxy更多的是要学会haproxy的调优及各种配置,本文只讲解了部分配置,因本人能力有限,还有许多配置未涉及到,但我后期会继续学习,后续再做补充。
以上是关于haproxy安装配置及haproxy+keepalived配置的主要内容,如果未能解决你的问题,请参考以下文章