ligvfbxxs 发表于 2015-3-26 08:48:32

HAProxy实现动静分离

一、HAProxy动静分离原理
      要实现动静分离效果(将保存静态页面的服务器和动态页面的服务器分成2类,HAProxy根据用户的URL当中的后缀来区分是静态页面还是动态页面,HAProxy工作在OSI7层下),现在分析一下怎么实现动静的:首先用户会先去请求首页,首页会返回整个页面的框架,用户浏览器会解析到还有很多资源需要再次向WEB发起请求,例如等html资源标签,此时HAProxy收到请求为xxx/xxx.jpg的请求后会判断为.JPG后缀的资源是静态页面,会向后端的静态页面发起请求,最后交给用户,如果请求的是.php结尾的则会调度到动态页面的节点中去,继而实现了动静分离效果。

二、配置验证


配置:
1、HAProxy动静分离配置


1
2
3
4
5
6
7
8
9
10
11
12
13
global(略)
defaults(略)
frontendserver192.168.192.194:80
      acl static path_end   /*.html/*.jpg/*.css   #静态页面的acl
      use_backendstatic if static                  #静态页面就调度到static
      default_backend   app                        #默认调度节点

backendstatic      #静态节点
      balance roundrobin
      server static192.168.112.130:80 check
backendapp       #动态节点
      balance source
      server app1 192.168.112.131:80 check





1
2
3
#vi/etc/sysctl.conf   #开启路由转发
net.ipv4.ip_forward = 1
#sysctl-p





2、动态页面配置

1
2
3
4
5
6
7
8
9
# yuminstallphp httpd
# cd /var/www/html
# vi index.php
          echo "this message from appserver";
       echo "
";
       echo "";
   ?>
#service httpd restart





3.静态页面的配置

1
2
3
# yum installhttpd
# cp 1.jpg/var/www/html
#service httpd start





三、效果


页: [1]
查看完整版本: HAProxy实现动静分离