以proxy反向代理负载均衡两种方法:
Nginx+Keepalived
Haproxy+Keepalived
今天实验第二种,据说双主模式能够充分利用服务器资源。
安装配置过程
1、安装配置过程
haproxy下载地址:http://haproxy.1wt.eu/download/1.4/src/haproxy-1.4.24.tar.gz
#cd /usr/local/src #wget http://haproxy.1wt.eu/download/1.4/src/haproxy-1.4.24.tar.gz #tar xf haproxy-1.4.24.tar.gz #cd haproxy-1.4.24 #make TARGET=linux26 ARCH=x86_64 #TARGET是指定内核版本,ARCH指定CPU架构,我使用的是64bit系统 #make install
2、安装完毕后,创建配置文件和启动文件。
#mkdir /etc/haproxy #cp examples/haproxy.cfg /etc/haproxy #cp examples/haproxy.init /etc/init.d/haproxy #chmod +x /etc/init.d/haproxy #ln -s /usr/local/sbin/haproxy /usr/sbin/ #mkdir /usr/share/haproxy
3、编辑配置文件
#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 #log loghost local0 info maxconn 4096 #最大连接数 chroot /usr/share/haproxy #改变当前工作目录。 uid 99 #所属用户的uid gid 99 #所属运行的gid daemon #以后台形式运行haproxy #debug #quiet defaults log global mode http #默认的模式mode { tcp|http|health },tcp是4层,http是7层,health只会返回OK option httplog option dontlognull option redispatch #当serverId对应的服务器挂掉后,强制定向到其他健康的服务器 option abortonclose #当服务器负载很高的时候,自动结束掉当前队列处理比较久的链接 retries 3 #两次连接失败就认为是服务器不可用 maxconn 2000 #默认的最大连接数 #timeout http-keep-alive 10s # timeout queue 1m contimeout 5000 #连接超时 clitimeout 50000 #客户端超时 srvtimeout 50000 #服务器超时 timeout check 5s #心跳检测超时 stats refresh 30s #统计页面自动刷新时间 stats uri /stats #统计页面url stats realm baison-test-Haproxy #统计页面密码框上提示文本 stats auth admin:admin123 #统计页面用户名和密码设置 stats hide-version #隐藏统计页面上HAProxy的版本信息 frontend www bind *:80 #这里建议使用bind *:80的方式,要不然做集群高可用的时候有问题,vip切换到其他机器就不能访问了。 acl web hdr(host) -i seo.plar.cn #acl后面是规则名称,-i是要访问的域名,如果访问seo.plar.cn这个域名就分发到下面的webserver 的作用域。 acl img hdr(host) -i img.plar.cn #如果访问img.baison.com.cn就分发到imgserver这个作用域。 use_backend webserver if web use_backend imgserver if img backend webserver #webserver作用域 mode http balance roundrobin #banlance roundrobin 轮询,balance source 保存session值,支持static-rr,leastconn,first,uri等参数 option httpchk /index.html #检测文件,如果分发到后台index.html访问不到就不再分发给它 server web01 192.168.137.201:80 check inter 2000 fall 3 weight 30 server web01 192.168.137.202:80 check inter 2000 fall 3 weight 20 server web01 192.168.137.203:80 check inter 2000 fall 3 weight 10 backend imgserver mode http option httpchk /index.php balance roundrobin server img01 192.168.137.101:80 check inter 2000 fall 3 server img02 192.168.137.102:80 check inter 2000 fall 3
4、启动Haproxy服务,查看状态。
#service haproxy start
/usr/sbin/haproxy -f /etc/haproxy/haproxy.cfg
至于keepalived,今天没用到暂时记录到这里。
转载随意~:陶醉 » Haproxy 负载均衡配置