Apache整合tomcat分离静态资源与动态资源

时间:2022-04-09 13:27:23

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进行处理