3.2.4. 新建www.a.com.conf文件
- #设置虚拟主机
- <VirtualHost *:80>
- ServerAdmin www.a.com
- DocumentRoot E:\\a\\
- ServerName www.a.com
- DirectoryIndex index.html
- ErrorLog logs/a-error_log.txt
- # 根目录,能访问所有
- <Directory E:\\a\\/>
- Options FollowSymLinks
- AllowOverride None
- Order deny,allow
- allow from all
- </Directory>
- # WEB-INF 目录,禁止访问
- <Directory E:\\a\\WEB-INF>
- deny from all
- </Directory>
- # META-INF 目录,禁止访问
- <Directory E:\\a\\/META-INF>
- deny from all
- </Directory>
- # 下面配置为静态资源全部交由apache处理,其他资源由tomcat处理
- JkMount /* a_worker
- JkUnmount /*.jpg a_worker
- JkUnmount /*.png a_worker
- JkUnmount /*.gif a_worker
- JkUnmount /*.bmg a_worker
- JkUnmount /*.html a_worker
- JkUnmount /*.htm a_worker
- #JkUnmount /*.js a_worker
- JkUnmount /*.css a_worker
- JkUnmount /*.xml a_worker
- JkUnmount /*.swf a_worker
- </VirtualHost>
- <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
- </Host>
- <Host name="www.a.com" appBase="webapps">
- <Context path="" docBase="E:\\a\\" />
- </Host>
- <Host name="www.b.com" appBase="webapps">
- <Context path="" docBase="E:\\b\\" />
- </Host>
workers.properties 文件
- worker.list=a_worker,b_worker
- worker.a_worker.port=8009
- worker.a_worker.host=www.a.com
- worker.a_worker.type=ajp13
- worker.a_worker.socket_keepalive=True
- worker.b_worker.port=8009
- worker.b_worker.host=www.b.com
- worker.b_worker.type=ajp13
- worker.b_worker.socket_keepalive=True
httpd.conf 文件
- # 虚拟主机配置
- NameVirtualHost *:80
- Include conf/vhost/www.a.com.conf
- Include conf/vhost/www.b.com.conf
mod_proxy_ajp是apache自带的ajp协议代理模块,只需要在apache配置文件中启用就能使用,无需下载。
注意:使用mod_proxy_ajp 可以使用tomcat的虚拟目录的配置方式
- <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
- <!-- a 项目 -->
- <Context path="/a" docBase="C:\\data\\a\\" sessionCookiePath=”/” />
- <!-- b 项目 -->
- <Context path="/b" docBase="C:\\data\\a\\" sessionCookiePath=”/” />
- </Host>
注意:上面的sessionCookiePath属性配置成“/”值的作用要说明一下。配置tomcat的虚拟目录,会导致项目中session的cookie的path字段跟context的path字段一致。如果只用tomcat就不会出现问题,只要跟其他web服务器整合时,访问contextpath就会变成“”””或“”/””,就跟tomcat的session cookie path不一致,会导致session无效。所以必须将tomcat的sessionCookiePath设置为“/”。
加不加这个属性的区别只需使用chrome,firefox浏览器查看响应头就清楚了。
mod_proxy_ajp是apache自带的ajp协议代理模块,只需要在apache配置文件中启用就能使用,无需下载
- # 启用 ajp 代理
- LoadModule proxy_module modules/mod_proxy.so
- LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
- # 虚拟主机配置
- NameVirtualHost *:80
- Include conf/vhost/www.a.com.conf
- Include conf/vhost/www.b.com.conf
- #设置虚拟主机
- <VirtualHost *:80>
- DocumentRoot C:\\data\\a\\
- ServerName www.a.com
- DirectoryIndex index.html
- ErrorLog logs/a-error_log.txt
- # 根目录,能访问所有
- <Directory C:\\data\\a\\>
- Options FollowSymLinks
- AllowOverride None
- Order deny,allow
- allow from all
- </Directory>
- # WEB-INF 目录,禁止访问
- <Directory C:\\data\\a\\WEB-INF>
- deny from all
- </Directory>
- # META-INF 目录,禁止访问
- <Directory C:\\data\\a\\META-INF>
- deny from all
- </Directory>
- # 下面配置为静态资源全部交由apache处理,其他资源由tomcat处理
- ProxyPassMatch .*\.jpg !
- ProxyPassMatch .*\.png !
- ProxyPassMatch .*\.gif !
- ProxyPassMatch .*\.bmg !
- ProxyPassMatch .*\.html !
- ProxyPassMatch .*\.htm !
- ProxyPassMatch .*\.js !
- ProxyPassMatch .*\.css !
- ProxyPassMatch .*\.xml !
- ProxyPassMatch .*\.xml !
- ProxyPass / ajp://localhost:8009/a/
- ProxyPassReverse / ajp://localhost:8009/a/
- </VirtualHost>