由于haproxy需要翻墙下载,所以从csdn下载了较为新版的haproxy1.5.11,安装过程如下:
1. 解压haproxy-1.5.11.tar.gz : tar xzvf haproxy-1.5.11.tar.gz
2. 进入解压目录:cd haproxy-1.5.11
3. 查询内核版本: uname -r ,通过cat README 可以知道编译平台的版本号,新版本的ubuntu为linux2628
4. 源码编译:sudo make TARGET=linux2628 PREFIX=/usr/local/haproxy 注意的是大小写,若改成小写,编译不通过或没有编译到指定路径下
5. 安装:sudo make install PREFIX=/usr/local/haproxy
6. 编写配置文件:cd /usr/local/haproxy , sudo vi haproxy.cfg, 填写如下内容:
###########全局配置#########
global
daemon
nbproc 1
pidfile /var/run/haproxy.pid
########默认配置############
defaults
mode http #默认的模式mode { tcp|http|health },tcp是4层,http是7层,health只会返回OK
retries 2 #两次连接失败就认为是服务器不可用,也可以通过后面设置
option redispatch #当serverId对应的服务器挂掉后,强制定向到其他健康的服务器
option abortonclose #当服务器负载很高的时候,自动结束掉当前队列处理比较久的链接
maxconn 4096 #默认的最大连接数
timeout connect 5000ms #连接超时
timeout client 30000ms #客户端超时
timeout server 30000ms #服务器超时
#timeout check 2000 #=心跳检测超时
log 127.0.0.1 local0 err #[err warning info debug]
########统计页面配置########
listen admin_stats
bind 0.0.0.0:1080 #监听端口
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 #统计页面用户名和密码设置
stats hide-version #隐藏统计页面上HAProxy的版本信息
########test配置#################
listen test
bind 0.0.0.0:8080 #注意端口号要不低于1024
mode tcp
#maxconn 4086
#log 127.0.0.1 local0 debug
server s1 192.168.1.201:8080
server s2 192.168.1.202:8080
7. 运行haproxy:
sudo /usr/local/haproxy/sbin/haproxy -f /usr/local/haproxy/haproxy.cfg
8. 让其开机自动运行:
sudo vi /etc/rc.local,在文档最后添加:
/usr/local/haproxy/sbin/haproxy -f /usr/local/haproxy/haproxy.cfg