apache2+jboss7动静态分离
学习Apache,记录配置以备后查
利用jboss官方提供的mode_cluster 1.2.0 Final,这其实也就是一个加载了jboss负载均衡模块的Apache2,这个官方提供的版本已经完成了Apache+jboss7负载均衡
所需要的相关模块以及相关的ajp代理设置。
负载均衡相关设置:http://www.cnblogs.com/wangjiajun/p/4211605.html
如果使用的是Apache官网下载的版本,需要从mode_cluster 1.2.0 Final中的modules目录拷贝
mod_proxy_cluster.so、mod_manager.so、mod_slotmem.so、mod_advertise.so这四个模块到你下载的Apache版本的modules目录,
并加载模块
去掉以下模块的注释
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule headers_module modules/mod_headers.so
添加以下模块
LoadModule proxy_cluster_module modules/mod_proxy_cluster.so
LoadModule manager_module modules/mod_manager.so
LoadModule slotmem_module modules/mod_slotmem.so
LoadModule advertise_module modules/mod_advertise.so
我的静态资源全放在D:\data\appStoreFileUpload\appStoreUpload.war目录下(没分离之前是作为jboss的虚拟目录)。
添加Alias /appStoreUpload "D:/data/appStoreFileUpload/appStoreUpload.war",将目录映射成网络路径
添加Apache对目录的访问权限
<Directory "D:/data/appStoreFileUpload/appStoreUpload.war">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>
请求路径匹配,如果是动态请求,分发给jboss处理,如果是静态资源请求,交由Apache处理
<LocationMatch "/appStoreUpload/(screenshotImgs/)?">
ProxyPassMatch !
<IFModule mod_headers.c>
Header set Cache-Control "max-age=604800"
</IFModule>
</LocationMatch>
FileEtag None
配置完成
ProxyPassMatch !表示不进行请求转发
FileEtag None 告诉apache关闭Etag,apache会默认对静态资源加上Etag头,但是这个头通常是不推荐使用的。
参考文章:http://my.oschina.net/abcfy2/blog/337619
本文地址:http://www.cnblogs.com/wangjiajun/p/4561567.html