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:dataappStoreFileUploadappStoreUpload.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

原文地址:https://www.cnblogs.com/wangjiajun/p/4561567.html