Apache版本2.4,windows64位,实现静态资源与动态资源分离主要利用了Apache的反向代理功能,动态资源转发给tomcat进行处理,静态资源使用Apache处理,可以提高效率和实现简单的分布式。
客户端直接访问Apache,Apache决定请求是否转发,tomcat需要提供ajp端口。
Apache需要加载的模块有:
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
以上的模块在默认已经下载好了,只要将配置文件中的注释去掉。
以下是Apache需要增加的配置:
<VirtualHost *:80> #ProxyPass / ajp://127.0.0.1:8003/ ProxyPass /resources ! ProxyPass / ajp://127.0.0.1:8003/ ProxyPassReverse / ajp://127.0.0.1:8003/ ServerName localhost Alias /resources "E:/xyWork/workspaces2/web-static-resource/resources" <Directory "E:/xyWork/workspaces2/web-static-resource/resources"> Options Indexes MultiViews AllowOverride None Order allow,deny Allow from all </Directory> </VirtualHost>对应的tomcat配置的ajp端口应该是8003,当访问的目录是/resources时,Apache不会进行转发,其他的请求会转发给对应的tomcat进行处理