Apache+Tomcat实现动静分离
完成Tomcat集群搭建后,我们只需修改两、三处即可实现动静分离。
1.将原来httpd.conf中JkMount的路由规则都放入conf/extra/httpd-urimap.conf中:
/*=loadbalancer /jkstatus=jkstatus !/*.css=loadbalancer !/*.js=loadbalancer !/*.jpg=loadbalancer !/*.gif=loadbalancer !/*.png=loadbalancer !/*.html=loadbalancer !/*.htm=loadbalancer
其表达式的含义也很好理解,/jkstatus这个url指定了处理器jkstatus(集群状态监控器),而前面标有!的则是禁止使用loadbalancer处理,最后剩下的所有请求都交由loadbalancer处理就OK了。因此,实现动静分离的关键就在于Mount规则中将静态类文件都过滤掉。
2.修改httpd.conf,增加:
JkMountFile conf/extra/httpd-urimap.conf
3.最后一步,也是重要一步:
将tomcat中webapps/下的文件复制到apache的htdocs/,路径要保持一致,否则分离后会出现访问冲突。 webaps/下如果有多个项目可在httpd.conf中进行别名设置,具体参详:http://www.cnblogs.com/lzrabbit/archive/2013/03/05/2944804.html
多项目(同目录或者异目录)举例,在<IfModule alias_module></IfModule>中添加:
Alias / "${DocumentRoot}/Asite" <Directory "${DocumentRoot}/Asite"> Options Indexes FollowSymLinks AllowOverride All Order allow,deny Allow from all </Directory> #<!-- # Alias /bsite "${DocumentRoot}/Bsite" # <Directory "${DocumentRoot}/Bsite"> # ... # </Directory> #-->
finally,启动apache和tomcat后,你就可以进行测试了。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。