Apache代理一个Tomcat服务器下多个项目

一、配置好Tomcat下虚拟主机即修改tomcatHome/conf/server.xml文件web

具体修改Engine标签下的host标签,一对host标签就对应一个虚拟主机apache

<Host name="www.test1.com"  appBase="webapps"  unpackWARs="true" autoDeploy="true">        
    <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"               
           prefix="localhost_access_log." suffix=".txt"
           pattern="%h %l %u %t &quot ;%r&quot; %s%b" />          
           <Context path="" docBase="caiwu" reloadable="true" crossContext="true"/>
</Host>

<Host name="www.test2.com"  appBase="webapps" unpackWARs="true" autoDeploy="true">        
    <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"               
           prefix="localhost_access_log." suffix=".txt"               
           pattern="%h %l %u %t &quot;%r&quot; %s %b" />          
          <Context path="" docBase="wkwifi" reloadable="true" crossContext="true"/>
</Host>


二、配置用于转发的Apache的配置文件即修改ApacheHome/conf/httpd.conf文件tomcat

在文件末尾处添加以下用于转发的配置:app

先打开如下行注释内容(去掉前面的#): webapp

LoadModule proxy_module modules/mod_proxy.so 
LoadModule proxy_connect_module modules/mod_proxy_connect.so 
LoadModule proxy_http_module modules/mod_proxy_http.so 
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
NameVirtualHost *:80
ProxyPreserveHost On
<VirtualHost*:80>
        ServerName www.test1.com
        ProxyPass / http://www.test1.com:8080/
        ProxyPassReverse / http://www.test1.com:8080/
</VirtualHost>
<VirtualHost*:80>
        ServerName www.test2.com
        ProxyPass / http://www.test2.com:8080/
        ProxyPassReverse / http://www.test2.com:8080/
</VirtualHost>

     以上两对VirtualHost标签分别配置了两个代理规则将www.test1.com这个域名代理到http://www.test1.com:8080/对应的项目,这样便可以实现非80端口的tomcat项目经过域名能够直接访问的目的。spa

相关文章
相关标签/搜索