Centos 6.5 apache2.2与tomcat集成多个项目 反向代理设置
2.需求概况:
有2个服务:www.test.com, bbs.test.com。分别对应2个tomcat下的2个web应用。由apache httpd作为互联网接入服务器,在80端口接收对这2个服务的请求。apache httpd再将这2个请求分别对应到不同的后端web服务器(Tomcat)处理。
3.配置域名映射到本机即127.0.0.1,同时配置service域名
4. 分别在2个tomcat里分别部署一个非常简单的应用。
第一个tomcat :端口:8080
编辑$TOMCAT_HOME/conf/server.xml
添加一个Host
- <Host name="www.service.test.com" unpackWARs="true" autoDeploy="true"
- xmlValidation="false" xmlNamespaceAware="false"/>
再在$TOMCAT_HOME/conf/Catalina下建立一个目录:www.service.test.com
然后在www.service.test.com目录下建立一个ROOT.xml,内容为:
- <Context docBase="/home/mahaibo/app/test"
- privileged="true" antiResourceLocking="false" antiJARLocking="false">
- </Context>
docBase指向具体的项目路径
同理第二个tomcat(端口8088)也是一样的做法:
编辑$TOMCAT_HOME/conf/server.xml
添加一个Host:
- <Host name="bbs.service.test.com" unpackWARs="true" autoDeploy="true"
- xmlValidation="false" xmlNamespaceAware="false"/>
然后在$TOMCAT_HOME/conf/Catalina下建立一个目录:bbs.service.test.com
再在bbs.service.test.com目录下建立一个ROOT.xml,内容为:
- <Context docBase="/home/mahaibo/app/bbs"
- privileged="true" antiResourceLocking="false" antiJARLocking="false">
- </Context>
5. 分别启动tomcat,可以通过http://www.service.test.com:8080和http://bbs.service.test.com:8088访问
6. 配置apache httpd.conf文件。
找到apach/conf/httpd.conf文件,确认下面这些文字行前面没有"#"注释号:
- LoadModule proxy_module modules/mod_proxy.so
- LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
- LoadModule proxy_balancer_module modules/mod_proxy_balancer.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
- <VirtualHost *:80>
- ServerName www.test.com
- ProxyIOBufferSize 8192
- ProxyRequests Off
- ProxyVia Full
- ProxyPass / http://www.service.test.com:8080/ smax=5 max=20 ttl=120 retry=300
- </VirtualHost>
- <VirtualHost *:80>
- ServerName bbs.test.com
- ProxyIOBufferSize 8192
- ProxyRequests Off
- ProxyVia Full
- ProxyPass / http://bbs.service.test.com:8088/ smax=5 max=20 ttl=120 retry=300
- </VirtualHost>
7.重启apache
service httpd restart
8.现在可以访问啦。
PS:如果出现设置完还出现端口跟在后面的情况,那就把
ProxyPreserveHost On
加在虚拟主机配置中去,再重启apche就行了。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。