windows下Apache2.4和Tomcat7动静分离配置

时间:2021-01-30 16:53:30

<1>安装Tomcat7,官网下载Tomcat7解压版解压即可。

<2>安装Apache2.4,官网可以直接下载压缩版解压即可,也可以从这里下载

第一步,打开httpd.conf,修改第38行服务器路径如图windows下Apache2.4和Tomcat7动静分离配置

路径是服务器安装的根目录如图windows下Apache2.4和Tomcat7动静分离配置

接着修改第60行和第222行的端口号,这个随意改,当然也可以不改,我这里改成了8088,记住这个端口号,后面设置VirtualHost时能用到。

windows下Apache2.4和Tomcat7动静分离配置windows下Apache2.4和Tomcat7动静分离配置

继续修改讲74行和158行的注释#去掉如图

windows下Apache2.4和Tomcat7动静分离配置windows下Apache2.4和Tomcat7动静分离配置

将171行注释加上如图windows下Apache2.4和Tomcat7动静分离配置

第二步,在conf文件夹下添加静态资源配置文件static-resource-proxy.conf,这个文件命名随意但是需要在httpd.cnf最后一行Include一下,如图

windows下Apache2.4和Tomcat7动静分离配置

文件内容:

#添加服务器代理支持模块

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
#需要监听的虚拟地址,端口号和httpd.conf中一致,因为需要通过apache服务器分发请求

<VirtualHost *:8088>  

    ServerName 127.0.0.1 #服务名称
    DocumentRoot "${SRVROOT}/htdocs/" #静态资源地址
    ErrorLog logs/webapp-error.log  #日志相关
    CustomLog logs/webapp-access.log common  
    ProxyRequests off  
    ProxyPass /resources/ !  #如果请求的url包含resources,则请求不被转发,Apache自己处理(即静态资源路径)
    ProxyPass / http://127.0.0.1:8080/   #其他路径交给tomcat
    ProxyPassReverse / http://127.0.0.1:8080/ 
  
    # 非常重要,用于保持每个request都在同一个session里  
    ProxyPassReverseCookiePath /market/ /
</VirtualHost>

 原理思想:如果访问路径中包含resources就交给apache处理,不包含resources就交给tomcat处理

第三步,修改Tomcat配置文件server.xml将AJP/1.3监听的地址设置为上面需要监听的ip,因为我是在本地测试,所以我这里直接设置成127.0.0.1(其他同理),如下图

windows下Apache2.4和Tomcat7动静分离配置

第四部,测试

先将静态资源放到Apache服务器htdocs\resources文件夹中如图windows下Apache2.4和Tomcat7动静分离配置

再将项目部署到tomcat中(删除原来项目的resources)

windows下Apache2.4和Tomcat7动静分离配置

然后先开启tomcat再开启apache

测试如图 下面是访问静态资源 走的是apache服务器里的resource

windows下Apache2.4和Tomcat7动静分离配置

下面访问非静态经资源,则直接通过tomcat访问

windows下Apache2.4和Tomcat7动静分离配置