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/,路径要保持一致,否则分离后会出现访问冲突。
webapps/下如果有多个项目可在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后,你就可以进行测试了。

posted @ 2015-01-16 20:04  lichmama  阅读(903)  评论(0编辑  收藏  举报