安装 HAProxy 配置负载均衡
HAProxy 可以完成较复杂的负载均衡工作,同时还可对服务器健康检测,有 down 机的自动停止分发,当服务器正常后,又自动均衡到刚死过的服务器。
下载:haProxy 1.3.15 http://haproxy.1wt.eu/download/1.3/src/haproxy-1.3.15.7.tar.gz
安装:
1. cd /home
2. wget http://haproxy.1wt.eu/download/1.3/src/haproxy-1.3.15.7.tar.gz
3. tar -zxvf haproxy-1.3.15.7.tar.gz
4. cd haproxy-1.3.15.7
5. mkdir –p /usr/local/haproxy/logs/
6. make TARGET=linux26 PREFIX=/usr/local/haproxy
7. make install PREFIX=/usr/local/haproxy
8. cd /usr/local/haproxy
9. vi haproxy.cfg
创建/修改配置haproxy.cfg:
global
log 127.0.0.1 local0
#log 127.0.0.1 local1 notice
#log loghost local0 info
maxconn 4096
chroot /usr/local/haproxy
uid 99
gid 99
daemon
nbproc 1
pidfile /usr/local/haproxy/logs/haproxy.pid
#debug
#quiet
defaults
log 127.0.0.1 local3
mode http
option httplog
option httpclose
option dontlognull
option forwardfor
option redispatch
retries 2
maxconn 2000
balance roundrobin
stats uri /haproxy-stats
contimeout 5000
clitimeout 50000
srvtimeout 50000
listen web 192.168.200.101:8090
mode http
balance roundrobin
option forwardfor
option httpclose
option httpchk GET /index.html
server s1 192.168.200.101:8080 weight 3 check
server s3 192.168.200.101:9090 weight 3 check
haproxy 192.168.0.100 分发到 192.168.0.101, 192.168.0.103 (故意down掉)。
启动:/usr/local/sbin/haproxy -f /usr/local/haproxy.cfg
用命URL进行均衡测试:http://192.168.200.100:8090/
可以打开 stats 看,http://192.168.200.100:8090/haproxy-stats,如:
日志输出:
40. ##########添加下面语句#########
41. vi /etc/syslog.conf
local3.* /var/log/haproxy.log
local0.* /var/log/haproxy.log
42. ##########修改下面语句##########
43. vi /etc/sysconfig/syslog
SYSLOGD_OPTIONS="-r -m 0"
44. ############重启服务#############
45. service syslog restart
46. 重启haproxy
如果修改 haproxy.cfg 配置,想重启 haproxy 用 kill -HUP `cat logs/haproxy.pid` 是不行的。必须使用 -sf 或 -st 参数,如:
/usr/local/haproxy/sbin/haproxy -f /usr/local/haproxy/haproxy.cfg -st `cat /usr/local/haproxy/logs/haproxy.pid `
#./haproxy –help //haproxy相关命令参数介绍.
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信号,这个参数放在命令行的最后
# tail –f /var/log/harpoxy.log 监控日志
# ./haproxy -f haproxy.cfg 启动服务.