trhhrth 发表于 2014-9-23 08:59:30

haproxy动静分离

haproxy:工作在ISO 七层 根据http协议(或者工作在ISO四层 根据tcp协议) 提供web服务的负载均衡调度器
配置文件 /etc/haproxy/haproxy.cfg
配置文件两部分组成
global settings: 对haproxy进程自身属性的设定----------全局设定段
proxies: 对代理的设定 -----------------代理设定段
defaults
frontend
backend
listen
其中defaults为proxies提供默认属性,frontend接受客户端的请求,backend连接后端的上游服务器(类似于nginx的upstream),listen是特定的frontend与backend的组合
定义一个完整的代理的方式:
frontend
backend
listen
defaults段分析
option   httpclose:使用短连接
option   redispath:使用cookie保持会话,如果后端的server宕机,则使用redispath 重定向另一个路径继续保持会话;
option   http-server-close:当keep-alive超时时,使用该选项在服务器上关闭会话   
timeoutconnect:haproxy转发到后边upstream server 时等待的时长
timeoutclient   :客户端非活动状态的超时时长
timeoutserver   :haproxy和后边的服务器段保持一个会话,当后台服务器down掉后,haproxy等待的超时时间
timeout-keep-alive:定义保持连接模式的超时时长      
timeout-check   : 建立状态检测时间的超时时间
maxconn         :每一个server最大并发连接数
实验环境:
3台虚拟机
   haproxy双网卡:公网:172.16.17.3
               内网:192.168.17.1
上游服务器1:192.168.17.11
上游服务器2:192.168.17.12
分别配置2台上游服务器提供配置页面并测试:
给172.16.17.3安装配置haproxy
启用全局日志功能
编辑rsyslog.conf

1
2
3
#vim/etc/rsyslog.conf
# Provides UDP syslog
reception
$ModLoad imudp
$UDPServerRun 514
# Provides TCP syslog
reception
$ModLoad imtcp
$InputTCPServerRun 514





在另一行
local2.*         /var/log/haproxy.log
#service rsyslog restart

# vim/etc/haproxy/haproxy.cfg
log         127.0.0.1 local2
# servicehaproxy restart重启服务
haproxy动静分离的实现
node2服务器安装php
yum -y install php php-mysql
提供php动态页面

1

                                       
配置haproxy配置文件
#vim/etc/haproxy/haproxy.cfg
frontend websrvs
    bind *:80
    acl url_static       path_beg       -i /static /images /javascript /stylesheets
    acl url_static       path_end       -i .jpg .gif .png .css .js .html
    acl host_static      hdr_beg(host)-i img. video. download. ftp. imags. videos.
    acl url_php          path_end       -i .php
    use_backend static          if url_static or host_static
    use_backend dynamic         if url_php
    default_backend             dynamic
         backend static
    balance   roundrobin
    server      node1 192.168.17.11:80check maxconn 30000   
                                                
         backend dynamic
    balance   roundrobin
    servernode2 192.168.17.12:80 check maxconn1000
# service haproxy restart
客户端测试 动静分离





静态资源请求发往node1 节点
静态资源请求发往node2 节点

页: [1]
查看完整版本: haproxy动静分离