一、HAProxy动静分离原理
要实现动静分离效果(将保存静态页面的服务器和动态页面的服务器分成2类,HAProxy根据用户的URL当中的后缀来区分是静态页面还是动态页面,HAProxy工作在OSI7层下),现在分析一下怎么实现动静的:首先用户会先去请求首页,首页会返回整个页面的框架,用户浏览器会解析到还有很多资源需要再次向WEB发起请求,例如<img src=xxx/xxx.jpg>等html资源标签,此时HAProxy收到请求为xxx/xxx.jpg的请求后会判断为.JPG后缀的资源是静态页面,会向后端的静态页面发起请求,最后交给用户,如果请求的是.php结尾的则会调度到动态页面的节点中去,继而实现了动静分离效果。
二、配置验证
配置:
1、HAProxy动静分离配置
global (略) defaults(略) frontend server 192.168.192.194:80 acl static path_end /*.html /*.jpg /*.css #静态页面的acl use_backend static if static #静态页面就调度到static default_backend app #默认调度节点 backend static #静态节点 balance roundrobin server static 192.168.112.130:80 check backend app #动态节点 balance source server app1 192.168.112.131:80 check
#vi /etc/sysctl.conf #开启路由转发 net.ipv4.ip_forward = 1 #sysctl -p
2、动态页面配置
# yum install php httpd # cd /var/www/html # vi index.php <?php echo "this message from appserver"; echo "<br>"; echo "<img src=1.jpg width=300 height=300>"; ?> #service httpd restart
3.静态页面的配置
# yum install httpd # cp 1.jpg /var/www/html #service httpd start
三、效果
本文出自 “Lu2Yu” 博客,请务必保留此出处http://lu2yu.blog.51cto.com/10009517/1624391
原文:http://lu2yu.blog.51cto.com/10009517/1624391