通常都是通过JK_MOD来整合Apache和Tomcat,但是Apache2.2版本以上整合Tomcat可以直接通过AJP_PROXY来完成,很方便。下面把几种方式都简单讲讲。
假设一个Apache,两个Tomcat容器,访问 a.hackang.cn 和 b.hackang.cn 分别对应 tomcata 和 tomcatb 的应用
第一种方式:JK_PROXY
安装好Apache和Tomcat,下载mod_jk-1.2.26-httpd-2.2.4.so (2.2.4对应着Apache版本)
将mod_jk-1.2.26-httpd-2.2.4.so 放到Apache安装目录的modules文件夹下。
在Apache安装目录的conf文件夹创建workers.properties配置文件,内容如下:
#下面是Tomcat实例列表
worker.list=tomcata,tomcatb
#tomcata实例配置
worker.tomcata.host=127.0.0.1
worker.tomcata.port=8009
worker.tomcata.type=ajp13
#tomcatb实例配置
worker.tomcatb.host=127.0.0.1
worker.tomcatb.port=9009
worker.tomcatb.type=ajp13
编辑apache配置文件httpd.conf,在文件末尾加上以下内容:
#以下为tomcat集成配置部分
LoadModule jk_module modules/mod_jk-1.2.26-httpd-2.2.4.so
JkWorkersFile conf/workers.properties
JkLogFile logs/mod_jk.log
JkLogLevel info
#如果机器有多个IP地址请务必使用*号
NameVirtualHost *:80
#a.hackang.cn虚拟站点
<VirtualHost *:80>
ServerName a.hackang.cn
JkMount /*.* tomcata
JkMount /* tomcata
DirectoryIndex index.jsp
</VirtualHost>
#b.hackang.cn虚拟站点
<VirtualHost *:80>
ServerName b.hackang.cn
JkMount /*.* tomcatb
DirectoryIndex index.jsp
</VirtualHost>
下面是Tomcat的配置,很重要。
tomcata可以使用默认配置,如果想访问 a.hackang.cn直接显示某应用的首页,可在tomcata的配置文件server.xml里面的host节点间加上
<Context className="org.apache.catalina.core.StandardContext" cachingAllowed="true"
charsetMapperClass="org.apache.catalina.util.CharsetMapper" cookies="true" crossContext="false" debug="0" displayName="a.hackang.cn" docBase="E:\myweb\a"
mapperClass="org.apache.catalina.core.StandardContextMapper" path="" privileged="false" reloadable="false" swallowOutput="false" useNaming="true"
wrapperClass="org.apache.catalina.core.StandardWrapper">
</Context>
docBase指向的你应用所在的文件夹,不能将此应用部署到tomcata的webapps文件夹中。否则就有两个应用了,一个是根访问路径,一个是根访问路径+应用名了。
tomcatb的配置要稍加修改,修改 conf/server.xml文件
<Server port="8005" shutdown="SHUTDOWN">将此处的端口号改掉,不能与tomcata的相同,比如可以改成 9005
修改默认的8080端口为9090,修改后如下:
<Connector port="9090" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" />
修改端口号为8009的Connector
修改前为:
<Connector port="8009" enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />
修改后:
<Connector port="9009" enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />
此处的9009跟workers.properties文件中tomcatb的端口号是一致的。
如果也想访问 b.hackang.cn时直接显示应用b,配置方法同a,以上已经提及,只需将docBase="E:\myweb\a" 改成 docBase="E:\myweb\b"即可
最后编辑C:\WINDOWS\system32\drivers\etc\hosts文件,在最后加上两个映射
127.0.0.1 a.hackang.cn
127.0.0.1 b.hackang.cn
至此,配置就结束了,可以用Apache的Test Configuration命令测试一下配置文件,如果没有问题,启动Apache,再分别启动两个Tomcat就ok了
第二种方式配置: ajp
apache2.2以上版本,无需使用jk_mod来集成tomcat,直接使用ajp,很方便。
修改apache配置文件httpd.conf
启用mod_proxy_ajp
#LoadModule proxy_module modules/mod_proxy.so
#LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
把这两行前面的#去掉即可
然后在末尾加上
<VirtualHost *:80>
ProxyPass / ajp://127.0.0.1:8009/
ProxyPassReverse / ajp://127.0.0.1:8009/
ServerName a.hackang.cn
</VirtualHost>
<VirtualHost *:80>
ProxyPass / ajp://127.0.0.1:9009/
ProxyPassReverse / ajp://127.0.0.1:9009/
ServerName b.hackang.cn
</VirtualHost>
搞定!!!方便吧,我现在用的就是这种。
第三种方式
第三种方式其实跟第二种差不多,只不过用的是http端口
<VirtualHost *:80>
ProxyPass / http://127.0.0.1:8080/
ProxyPassReverse / http://127.0.0.1:8080/
ServerName a.hackang.cn
</VirtualHost>
<VirtualHost *:80>
ProxyPass / http://127.0.0.1:9090/
ProxyPassReverse / http://127.0.0.1:9090/
ServerName b.hackang.cn
</VirtualHost>
此处的9090跟tomcatb中配置的http端口一致
到此Apache整合Tomcat全部结束,若要加强tomcat处理静态资源的能力,可以启用APR服务。
分享到:
相关推荐
Apache 2.2.4 和 Tomcat 6.0 的整合配置是一项常见的任务,尤其在部署Java Web应用程序时。这两个组件分别作为Web服务器和应用服务器,通过特定的方式协同工作,以提供动态内容服务。这里我们将深入探讨这个整合过程...
Apache HTTP Server 2.2.4与Tomcat 6的整合是将这两种强大的Web服务器技术结合在一起,以实现更高效的应用程序部署和管理。Apache作为前端服务器处理静态内容,而Tomcat作为后端服务器处理Java应用程序。在这个过程...
### Apache 2.2.4与Tomcat 6.0.14整合教程:构建负载均衡Web环境 在现代Web开发环境中,为了提高网站的可用性、可扩展性和响应速度,通常会采用负载均衡技术来分散请求到多台服务器上处理。本文将详细解析如何通过...
本文档详细介绍了如何在Windows XP系统中配置Apache2.2.4、tomcat6和php5,使其能够在一个环境中稳定共存并协同工作。这种配置通常用于开发环境或小型Web服务器部署场景,尤其是当需要支持多种Web应用和技术栈时。 ...
【Weblogic10+Apache2.2.4整合过程详解】 在IT领域,Weblogic作为一款功能强大的Java EE应用服务器,常被用于部署企业级应用。而Apache HTTP Server则是最流行的开源HTTP服务器,广泛用于提供静态内容和服务端...
Apache2.2与Tomcat5.5的整合配置是一个常见的任务,特别是在那些希望利用Apache作为前端服务器处理静态内容,而将动态请求转发给Tomcat处理的环境中。这种配置可以提高服务器性能并优化资源分配。 首先,我们需要...
NULL 博文链接:https://yang7527.iteye.com/blog/565972
【描述】中的"apache的安装包和链接tomcat的插件,以及tomcat和apache的配置文件"表明,你需要配置Apache服务器(版本2.2.4)和mod_jk模块来与多个Tomcat实例(如tomcat3、tomcat2、tomcat1)进行通信。此外,还需要...
Apache2.2.4 和 mod_jk-apache-2.2.4.so 是在Web服务器领域中的关键组件,主要用于实现Apache HTTP服务器与Tomcat应用服务器之间的集成。Apache2.2.4是Apache HTTP Server的一个特定版本,而mod_jk-apache-2.2.4.so...
LoadModule jk_module modules/mod_jk-apache-2.2.4.so JkWorkersFile conf/workers.properties JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories JkRequestLogFormat "%w %V %T" JkMount /servlet...
配置Apache2.2.4和Tomcat的负载均衡,你需要编辑Apache的配置文件httpd.conf,添加mod_proxy相关指令,例如: ```apacheconf LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_balancer_module ...
Apache 与 Tomcat 整合采用 proxy 方式,需要在 Apache 的配置文件 `httpd.conf` 中添加模块和相关配置。首先,确保 Apache 已加载 `proxy_module` 和 `proxy_ajp_module`,这可以通过在 `httpd.conf` 文件末尾添加 ...
2. **安装过程**:运行"apache_2.2.4-win32-x86-no_ssl.msi"安装程序,按照提示完成安装。 3. **配置文件**:安装后需编辑httpd.conf配置文件,根据需求配置服务器端口、虚拟主机、文档根目录等。 4. **服务启动**...
Apache2.2.4 是一个流行的Web服务器软件,本文将详细介绍如何安装和配置 Apache2.2.4 。 Apache 的安装 1. 下载 Apache2.2.4 软件,双击安装文件 apache_2.2.4-win32-x86-no_ssl.msi 进行安装。 2. 接受协议,...
1. **安装Apache**:下载并安装Apache 2.2.4的Windows版本,通常为apache-win32-x86-no_ssl.exe,确保选择适合你系统的版本。 2. **安装PHP**:同样下载PHP 5.2.7的Windows二进制文件,解压到适当目录。 3. **配置...
Apache2.2.8与Tomcat6.0.16整合资源包. 内含: Apache2.2.8安装文件 Tomcat6.0.16安装文件 mod_jk-1.2.26-httpd-2.2.4.so插件文件. 并附示例配置说明
【Apache2.2.4和PHP5.2.1配置方法】 Apache2.2.4是Apache HTTP服务器的一个版本,它提供了稳定且高效的服务,用于托管网页内容。配置Apache涉及安装、配置文件设置以及与其他软件(如PHP)的集成。在安装Apache...