设为首页 收藏本站
查看: 1523|回复: 0

[经验分享] haproxy动静分离

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2014-9-23 08:59:30 | 显示全部楼层 |阅读模式
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超时时,使用该选项在服务器上关闭会话   
  timeout  connect  :haproxy转发到后边upstream server 时等待的时长
  timeout  client   :客户端非活动状态的超时时长
  timeout  server   :  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
# service  haproxy 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:80  check maxconn 30000   
                                                  
         backend dynamic
    balance     roundrobin
    server  node2 192.168.17.12:80 check maxconn  1000
# service haproxy restart
客户端测试 动静分离




wKiom1QgQBjC50pJAACtJ9FycAI591.jpg 静态资源请求发往node1 节点
wKioL1QgQGKj3o4RAAB782VSJa0540.jpg 静态资源请求发往node2 节点


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-25174-1-1.html 上篇帖子: 利用Haproxy对Discuz实现数据的动静分离 下篇帖子: HAProxy的调试算法
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表