通常都是通过JK_MOD来整合Apache和Tomcat,但是Apache2.2版本以上整合Tomcat可以直接通过AJP_PROXY来完成,很方便。下面把几种方式都简单讲讲。
假设一个Apache,两个Tomcat容器,访问 a.hackang.cn 和 b.hackang.cn 分别对应 tomcata 和 tomcatb 的应用
第一种方式:JK_PROXY
[/size]安装好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
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端口一致[/size]
分享到:
相关推荐
Apache 2.4.3 和 Tomcat 的整合是将 Apache 作为前端服务器处理静态内容,而将动态内容的处理交给后端的 Tomcat 应用服务器。这种集成方式可以充分利用 Apache 的高性能和 Tomcat 对 Java 应用的良好支持。下面我们...
### Apache与Tomcat整合知识点详解 #### 一、Apache与Tomcat整合概述 Apache与Tomcat的整合是指将Apache作为Web服务器,而Tomcat作为应用服务器的一种部署方式。这种组合可以充分利用Apache处理静态资源的能力以及...
总的来说,IIS、Tomcat和Apache的整合是一种高级的系统集成技巧,适用于需要混合使用多种技术栈的复杂Web应用环境。正确配置后,这种整合能够提供更高的灵活性和性能优化,但同时也需要具备一定的技术实力和经验。
本包提供了apache与tomcat的各种整合方案,适用于大部分用户,有jk_module的单例整合方案、集群整合方案,还有两者的其它整合方案。除此之外,在包中本人还提供了完整的插件和教程,下载完本包不需要从网上下载其它...
在现代Web开发环境中,Apache与Tomcat的整合是一种常见的配置方案。Apache作为一个高效且功能强大的Web服务器,主要用于处理静态资源和部分动态请求;而Tomcat则主要作为Java Web应用程序的容器来运行基于Java的Web...
### Apache与Tomcat整合知识点详解 #### 一、前言 在互联网技术中,Apache与Tomcat的整合是实现高效Web应用服务的关键技术之一。Apache作为一款强大的HTTP服务器,擅长处理静态资源请求;而Tomcat则是一款优秀的...
### Linux下Apache与Tomcat整合的简单方法:深入解析 #### 核心知识点概览: 在Linux环境下,Apache与Tomcat的整合是一个常见的需求,尤其是对于那些希望利用Apache的高效静态资源处理能力和Tomcat的强大Java应用...
Apache+Tomcat 的整合还有助于扩展性和安全性。通过负载均衡和集群技术,可以轻松地增加服务器数量以应对高并发需求。此外,由于 Apache 的模块化设计,可以添加防火墙模块和其他安全措施,提高整体的安全性。Tomcat...
Apache与Tomcat的整合主要依赖于Apache的mod_jk模块,这是一个负载均衡器和反向代理,它允许Apache与Tomcat之间进行通信。通信协议通常是基于JK的,包括JK1和已被弃用的JK2。在这个过程中,Apache通过mod_jk模块将...
### Apache与Tomcat整合...Apache与Tomcat的整合不仅提高了网站的性能和稳定性,还为开发者提供了更灵活的部署方案。通过合理规划和精心配置,这一组合能够有效应对高流量场景下的挑战,为用户提供更加流畅的访问体验。
Apache与Tomcat整合是一个技术实现方案,它涉及将Apache Web服务器与Apache Tomcat应用服务器结合起来,以创建一个能够处理静态内容的Web服务器和处理动态内容的Web应用服务器的组合。这种整合的目的是让Apache...
### Apache 2.2 和 Tomcat 6 整合知识点详解 ...综上所述,Apache 2.2 和 Tomcat 6 的整合不仅可以充分发挥各自的技术优势,还能显著提升 Web 应用的性能和安全性,是构建高性能 Web 服务的优选方案之一。
### Apache与Tomcat整合知识点详解 #### 一、Apache与Tomcat简介 - **Apache**:是一款免费开源的Web服务器解决方案,支持多种操作系统,如Windows、Linux等,并且可以通过简单的API扩展其功能。 - **Tomcat**:是...
总之,Apache Tomcat 6.0.37 提供了一个可靠的平台来运行和管理基于Servlet和JSP的Web应用,尤其对于那些需要在64位环境下运行的项目,它是一个理想的解决方案。通过与MyEclipse等开发工具的集成,可以简化开发流程...
【标题】"tomcat+apache 6.0集成打包"涉及的是在服务器环境中整合Apache HTTP Server与Apache Tomcat的常见技术实践。这个压缩包包含了Apache 2.2.8和Tomcat 6.0.16这两个特定版本,以及JK模块(即mod_jk)的2.0.55...
Apache的 mod_proxy 模块提供了一个强大的负载均衡解决方案,它可以透明地将请求转发到Tomcat实例集群,实现请求的分发。 以下是实现Apache+Tomcat负载均衡整合的详细步骤: 1. **安装与配置Apache**: - 安装...
### Windows下Apache+Tomcat+MySQL+jsp+php的服务器整合配置经验总结 #### 一、引言 本文旨在分享一套完整的Apache+Tomcat+MySQL+jsp+php环境的搭建经验,尤其适合初学者快速入门,并对有经验的开发者提供有价值的...
### Apache与Tomcat的安装与整合详解 #### 一、引言 在现代Web应用开发中,Apache HTTP Server(简称Apache)与Tomcat是两个非常重要的服务器组件。Apache作为一个高效、稳定且开源的Web服务器软件,广泛应用于...