Haproxy下载与安装
- wget http://haproxy.1wt.eu/download/1.4/src/haproxy-1.4.20.tar.gz
- tar xzvf haproxy-1.4.20.tar.gz
- cd haproxy-1.4.20
- uname -a //查看linux内核版本
- make TARGET=linux26 ARCH=i386
- sudo make install ARCH=i386
Haproxy安装与创建配置文件
- cd /usr/local/sbin/
- vi haproxy.cfg
后端机web1:192.168.1.100
后端机web2:192.168.1.101
后端机web3:192.168.1.102
后端机web4:192.168.1.103
配置内容举例: (以监听80端口为例)
global
log 127.0.0.1 local0 info #[err warning info debug] //日志位置
maxconn 4096
daemon #设置成后台运行
nbproc 1 #进程数量
# pidfile /home/admin/haproxy/logs/haproxy.pid
defaults
log global
mode http #默认模式
option httplog #http日志格式
option dontlognull
retries 3 #三次失败后认为服务器不可用
option redispatch #如果cookie写入了serverId而客户端不会刷新cookie,当serverId对应的服务器挂掉后,强制定向到其他健康的服务器
maxconn 2000 #当服务器负载很高的时候,自动结束掉当前队列处理比较久的链接默认的最大连接数
contimeout 5000 #连接超时
clitimeout 30000 #客户端超时
srvtimeout 30000 #服务器超时
listen localhost 192.168.1.125:80 #统计页面密码框上提示文本
mode http #http 模式
stats uri /haproxy #统计页面
#可通过192.168.1.125/haproxy来访问状态页面
balance roundrobin
cookie JSESSIONID prefix
stats hide-version
option httpclose
server web1 192.168.1.100:80 weight 3 check inter 2000 rise 2 fall 3 #要求后端机里存在/var/www/html/test.html,前端机通过访问该文件测试后台机是否可用
server web2 192.168.1.101:80 weight 3 check inter 2000 rise 2 fall 3
server web3 192.168.1.102:80 weight 3 check inter 2000 rise 2 fall 3
server web4 192.168.1.103:80 weight 3 check inter 2000 rise 2 fall 3
启动Haproxy
启动服务:
- service httpd stop //确保80端口没被占用
- /usr/local/sbin/haproxy –f /usr/local/sbin/haproxy.cfg
- #sudo killall haproxy
- service iptables stop
- service httpd start //开启后端机apache服务
- touch /var/www/html/test.html