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]