haproxy配置
global
log 127.0.0.1 local2
chroot /var/lib/haproxy
pidfile /var/run/haproxy.pid
maxconn 4000
user haproxy
group haproxy
daemon
# turn on stats unix socket
stats socket /var/lib/haproxy/stats
defaults
mode http
log global
option httplog
option dontlognull
option http-server-close
option forwardfor except 127.0.0.0/8
option redispatch
retries 3
timeout http-request 10s
timeout queue 1m
timeout connect 10s
timeout client 1m
timeout server 1m
timeout http-keep-alive 10s
timeout check 10s
maxconn 10000 #最大并发连接数
frontend proxy *:80 #前端代理
acl url_static path_beg -i /static /images /javascript /stylesheets
acl url_static path_end -i .html .jpg .gif .png .css .js
acl dynamic_content path_end -i .php
use_backend static if url_static
default_backend dynamic
#---------------------------------------------------------------------
# static backend for serving up images, stylesheets and such
#---------------------------------------------------------------------
backend static #后端静态服务器
balance roundrobin
server web1 172.16.1.11:80 inter 3000 rise 2 fall 3 check maxconn 5000
backend dynamic #后端动态服务器
balance roundrobin
server web2 172.16.1.12:80 inter 3000 rise 2 fall 3 check maxconn 5000
listen statistics
mode http
bind *:8080 #把stats页面绑定到8080端口
stats enable #开启stats功能
stats auth hoo:hoo #认证的用户名和密码
stats uri /admin?stats #指定uri访问路径
stats realm Haproxy\ Statistics #定义显示文字
stats hide-version #为了安全(版本bug),隐藏版本信息
stats admin if TRUE #如果认证通过了就允许管理
stats refresh 5s #页面5秒刷新一次
acl allow src 172.16.0.0/16 #定义访问控制列表
tcp-request content accept if allow
tcp-request content reject 3. httpd配置
a. node2 配置
# yum install httpd -y
# echo \welcom to web1\ > /var/www/html/index.html
# service httpd start b. node3 配置
# yum install httpd -y
# vim /var/www/html/index.html
welcom to web2
# service httpd start 4. 配置haproxy日志
a.配置日志系统
# vim /etc/sysconfig/rsyslog# Options for rsyslogd
# Syslogd options are deprecated since rsyslog v3.
# If you want to use them, switch to compatibility mode 2 by "-c 2"
#明显已有提示
# See rsyslogd(8) for more details
SYSLOGD_OPTIONS="-c 2 -r" b.增加日志设备
# vim /etc/rsyslog.conf
#添一行
local2.* /var/log/haproxy.log c.重启日志服务
# service rsyslog restart 5.启动服务
node1
# haproxy -c -f /etc/haproxy/haproxy.cfg //检查配置文件
# service haproxy start
# netstat -tunlp | grep :80 6.测试服务
a.在web1(172.16.1.11)的网页目录下,随意放一张图pic.jpg
b.请求172.16.1.1/pic.jpg