Centos 6.5 apache2.2与tomcat集成多个项目 反向代理设置

1. 安装apache2.2 参见:访问我其他博文

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域名

Java代码  

  1. 127.0.0.1    localhost www.test.com www.service.test.com bbs.test.com bbs.service.test.com

4. 分别在2个tomcat里分别部署一个非常简单的应用。

第一个tomcat :端口:8080

编辑$TOMCAT_HOME/conf/server.xml

添加一个Host

Java代码  

  1. <Host name="www.service.test.com" unpackWARs="true" autoDeploy="true"
  2. xmlValidation="false" xmlNamespaceAware="false"/>

再在$TOMCAT_HOME/conf/Catalina下建立一个目录:www.service.test.com

然后在www.service.test.com目录下建立一个ROOT.xml,内容为:

Java代码  

  1. <Context docBase="/home/mahaibo/app/test"
  2. privileged="true" antiResourceLocking="false" antiJARLocking="false">
  3. </Context>

docBase指向具体的项目路径

同理第二个tomcat(端口8088)也是一样的做法:

编辑$TOMCAT_HOME/conf/server.xml

添加一个Host:

Java代码  

  1. <Host name="bbs.service.test.com" unpackWARs="true" autoDeploy="true"
  2. xmlValidation="false" xmlNamespaceAware="false"/>

然后在$TOMCAT_HOME/conf/Catalina下建立一个目录:bbs.service.test.com

再在bbs.service.test.com目录下建立一个ROOT.xml,内容为:

Java代码  

  1. <Context docBase="/home/mahaibo/app/bbs"
  2. privileged="true" antiResourceLocking="false" antiJARLocking="false">
  3. </Context>

5. 分别启动tomcat,可以通过http://www.service.test.com:8080和http://bbs.service.test.com:8088访问

6. 配置apache httpd.conf文件。

找到apach/conf/httpd.conf文件,确认下面这些文字行前面没有"#"注释号:

Java代码  

  1. LoadModule proxy_module modules/mod_proxy.so
  2. LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
  3. LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
  4. LoadModule proxy_connect_module modules/mod_proxy_connect.so
  5. LoadModule proxy_http_module modules/mod_proxy_http.so
  6. LoadModule proxy_ftp_module modules/mod_proxy_ftp.so

并增加虚拟主机配置:

Java代码  

  1. NameVirtualHost *:80
  2. <VirtualHost *:80>
  3. ServerName www.test.com
  4. ProxyIOBufferSize 8192
  5. ProxyRequests Off
  6. ProxyVia Full
  7. ProxyPass / http://www.service.test.com:8080/ smax=5 max=20 ttl=120 retry=300
  8. </VirtualHost>
  9. <VirtualHost *:80>
  10. ServerName bbs.test.com
  11. ProxyIOBufferSize 8192
  12. ProxyRequests Off
  13. ProxyVia Full
  14. ProxyPass / http://bbs.service.test.com:8088/ smax=5 max=20 ttl=120 retry=300
  15. </VirtualHost>

7.重启apache

service httpd restart

8.现在可以访问啦。

PS:如果出现设置完还出现端口跟在后面的情况,那就把

ProxyPreserveHost On

加在虚拟主机配置中去,再重启apche就行了。

时间: 2024-08-24 21:28:22

Centos 6.5 apache2.2与tomcat集成多个项目 反向代理设置的相关文章

Tomcat:利用Apache配置反向代理、负载均衡

Apache 反向代理.负载均衡 准备工作 1.  2 个tomcat实例 2.  安装Apache server2.2 基于apache server配置反向代理 在这个配置中,只使用到了apache server,没有使用到tomcat. 1)  ${apacheserver}/conf/extra/httpd-vhosts.conf在配置一个使用反向代理的虚拟主机 <VirtualHost *:80> ServerAdmin [email protected] ServerName ww

tomcat原理及安装及反向代理、会话保持、session集群和session共享服务器的实现(一)

JDK(java development kit)叫做java开发工具包,是整个java的核心,包括JRE(java runtime environment,叫做java运行是环境),一堆java的工具和java的基本类库. JDK包含的组件包括: javac:编译器,将源程序转换成字节码,即.java程序转换成.class文件,然后才能java虚拟机上运行.class文件 jar:打包工具,将相关的类文件打包成一个文件 javadoc:文档生成器,从源码注释中提取文档 jdb:debuger,

CentOS 7 安装Nginx做反向代理

题记 须要使用nginx的反向代理功能,測试环境为centos+NGINX 1.8.0. 跳过一些繁琐的问题,直接记录核心 步骤 (1)centos 安装在VM中.因此须要注意网络连接问题 (2)安装nginx使用的是具有网络的yum功能 (3)配置centos防火墙,须要开启80 port (4)nginx 反向代理配置 (5)性能优化设置(兴许工作...) 实现 一. yum安装nginx 先加入nginx源,測试使用最新的nginx 1.8.0 rpm -ivh http://nginx.

Centos Apache和tomcat集成配置,同时支持PHP和JAVA运行

最近由于项目的需要,需要再原来运行Tomcat服务器上支持PHP运行.很显然,PHP运行使用的是Apache服务器.虽然Tomcat也属于Apache,但是并没有现有的环境,需要我们自己手动配置.顺便说一下,我们使用的服务器环境是Centos6.4 . 我也是第一次搭建这个环境,没有经验,身边的同事也都没有整合过.所以最好的方法肯定是找度娘了. 但是,我发现网上的东西那叫一个又杂又乱,我保证你看了十篇文章,你也无法搭建成功.主要原因是转载的文章太多,而转载者也并非都是作者或者是专家.所以,文章要

Jenkins + Git + Maven + tomcat集成环境搭建

折腾了好几天,终于吧Jenkins + Git + Maven + tomcat集成环境搭建起来了,最终主要实现"自动构建.部署"web应用. 1.安装环境 操作系统:Centos 6.5 JDK:1.7.x Maven:3.1.x Git: 1.7.1,自建GitLab平台 tomcat:7.x 上述宿主机器2台:192.168.1.194,192,168.1.198,其中194位Jenkins Master,198位slave. 2.第三方安装安装和环境配置 JDK.Git.Mav

centOS 6下安装java、tomcat

centOS 6 下安装java centOS  默认有java的运行环境(gcj),安装sun的jdk前先卸载 gcj. 卸载gcj: #java -version            <-查看当前gcj java的版本号(我这里得到的是 1.4.2) #yum -y remove java-1.4.2-gcj-compat   <- 卸载gcj (y参数表示 在y/n 提问时均回答 y) #chmod a+x jdk-6u14-linux-i586-rmp.bin    <- a+

eclipse jee tomcat 集成 结合 项目部署

eclipse jee 与 tomcat 集成,eclipse 版本是 eclipse-jee-galileo-win32,tomcat 版本是6.0 .这两个软件分别自己下载.具体集成步骤如下: 1.下载sysdeo tomcat plugin 的插件  (tomcatPluginV321.zip) ,解压该文件,拷贝com.sysdeo.eclipse.tomcat_3.2.1 到 eclipse-jee\plugins下,(注意:Tomcat6.0以上版本,将DevLoader.zip重命

Spring,Struts2,MyBatis,Activiti,Maven,H2,Tomcat集成(一)

1.  创建Maven Web工程 (1)       磁盘上创建Maven工程所需要的文件夹结构如下: (2)       在与src同级目录中创建pom.xml文件: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apa

开发人员学Linux(8):CentOS7编译安装Subversion1.9.5及Apache2.4.25并集成

1.前言本篇将介绍如何编译安装SVN服务器端管理软件subverion和Web服务器Apache.本来在前面的系列文章已经讲过使用Nginx作为Web服务器的,所以我一直在找有关subverion集成nginx的资料,在此过程中找到了Nginx作者Igor Sysoev在回答别人类似问题的网址,网址是http://mailman.nginx.org/pipermail/nginx/2007-January/000504.html,不过按照Igor Sysoev的回答并没有成功,因此仍回到Apac