Apache2.2 + tomcat6/7 + AJP

现在有这样一个情况

本机有2个tomcat  

d:/tom1

d:/tom2

每个tomcat下面都跑着一个webapp   

d:/tom1/webapps/myapp1

d:/tom2/webapps/myapp2

假设第一个应用的访问路径为    www.host.com:8080/myapp1    ajp节点端口为8009

        第二个应用的访问路径为   www.host.com:9090/myapp2    ajp节点端口为9009

如果现在我想通过   app1.host.com来访问第一个应用www.host.com:8080/myapp1

                             app2.host.com来访问第二个应用www.host.com:9090/myapp2

可以通过apache和AJP来实现

下载Apache2.2(必须是2.2以后的版本)

放开conf/httpd.conf的如下3行代码

--开启AJP
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
--载入conf/extra/httpd-vhosts.conf文件
Include conf/extra/httpd-vhosts.conf

在Include conf/extra/httpd-vhosts.conf加入如下代码

<VirtualHost *:80>
    ServerAdmin [email protected]
    ServerName app1.host.com
    ProxyPass / ajp://www.host.com:8009/
    ProxyPassReverse / ajp://www.host.com:8009/
    ErrorLog "logs/app1-error.log"
    CustomLog "logs/app1-access.log" common
</VirtualHost>

<VirtualHost *:80>
    ServerAdmin [email protected]
    ServerName app2.host.com
    ProxyPass / ajp://www.host.com:9009/
    ProxyPassReverse / ajp://www.host.com:9009/
    ErrorLog "logs/app2-error.log"
    CustomLog "logs/app2-access.log" common
</VirtualHost>

ServerName 就是可以可以访问到你的电脑的地址

ProxyPass和ProxyPassReverse都指向你的tomcat里应用的地址

你可能感兴趣的:(Apache2.2 + tomcat6/7 + AJP)