一个网友的一个Tomcat下面跑了10几个应用,经常造成内存溢出,希望能够拆分到多个Tomcat里面。从CSDN上面找到我。
现状分析:
- 其每个应用都有各自的二级域名,能够通过互联网访问
- 其有几个应用放在一起,也就是只有部分应用希望运行在一个tomcat里面
- 目前使用了jk的连接器
建议:
- 运行多个tomcatr实例,通过侦听的端口进行区分。
- 对于每个tomcat,配置各自需要服务的虚拟主机
- 使用Apache的Proxy进行代理转发,转到对应的tomcat上面,重点在端口不同
- 取消jk连接,减少复杂度。虽然损失了一些Apache对静态文本的性能,但整体看还是值得的
结果:
- tomcat的server.xml里面配置了各自的虚拟主机,比如 www.aaa.com 和 oa.aaa.com。第一个是主域名,第二个是二级域名。tomcat端口为8080。第二个tomcat配置了一个 sales.aaa.com 用来支持销售,端口为8081。详细的配置文件请参考tomcat的虚拟主机配置,这里就不写了。
- 测试各个虚拟主机的运行是否正常,使用 http:// oa.aaa.com:8080/ 这样的方式进行测试。
- apache的 httpd.conf配置
- 打开代理所需要的.so支持模块,在httpd.conf里面,取消下面四行的注释:
- LoadModule proxy_module modules/mod_proxy.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.aaa.com
- ProxyPass / http:// www.aaa.com:8080/
- ProxyPassReverse / http:// www.aaa.com:8080/
- </VirtualHost>
- <VirtualHost *:80>
- ServerName oa.aaa.com
- ProxyPass / http:// oa.aaa.com:8080/
- ProxyPassReverse / http:// oa.aaa.com:8080/
- </VirtualHost>
- <VirtualHost *:80>
- ServerName sales.aaa.com
- ProxyPass / http://sales.aaa.com:8081/
- ProxyPassReverse / http://sales.aaa.com:8081/
- </VirtualHost>
分享到:
相关推荐
Apache 代理实现整合多个 Tomcat 是一种常见的 web 服务器架构策略,它允许通过单一的 Apache 服务器来管理和分发来自不同 Tomcat 实例的请求。这样做的好处包括简化对外服务的 URL、负载均衡以及集中化的安全管理。...
"IIS整合多个Tomcat"是一个常见的需求,特别是在大型企业或高流量网站中,为了提高可用性和负载均衡,通常会使用多个应用服务器。IIS(Internet Information Services)是微软提供的一个强大的Web服务器,而Tomcat则...
mod_jk是Apache与Tomcat之间的通信桥梁,它实现了Apache的worker模型,可以有效地分发请求到多个Tomcat实例,实现负载均衡。 首先,我们需要安装Apache HTTP服务器。在这个例子中,我们使用的是Apache 2.2.3的...
如果需要更高可用性,可以将多个Tomcat实例配置成集群,通过Apache的mod_proxy_balancer模块进行负载均衡。这将提高服务的容错能力和扩展性。 8. **日志管理** 考虑将Apache和Tomcat的日志分开管理,以便更好地...
总的来说,IIS、Tomcat和Apache的整合是一种高级的系统集成技巧,适用于需要混合使用多种技术栈的复杂Web应用环境。正确配置后,这种整合能够提供更高的灵活性和性能优化,但同时也需要具备一定的技术实力和经验。
- 如果有多个Tomcat实例,可以创建更多的worker,并根据需求设置负载均衡策略。 3. **server.xml**:这是Tomcat服务器的主要配置文件,它定义了Tomcat的各个组件,如Connector(连接器)和Context(上下文)。在...
Apache和Tomcat是两个在Web服务器领域广泛应用的开源软件。Apache作为HTTP服务器,以其稳定性、高效性和可扩展性而著名,而Tomcat则是一个轻量级的Java应用服务器,主要处理Servlet和JSP。在实际应用中,为了充分...
mod_jk 是一个专门用于连接 Apache 和 Tomcat 的模块,而 mod_proxy_ajp 则是 Apache 内置的代理模块,可以通过 AJP 协议与 Tomcat 进行通信。 对于 mod_jk,需要下载和安装 jakarta-tomcat-connectors,其中包含了...
随着互联网技术的发展,越来越多的应用需要同时利用Apache和Tomcat的优势。Apache作为一款稳定、高效且功能强大的Web服务器,而Tomcat则是一款专为Java应用程序提供运行环境的服务器。两者结合使用可以实现静态资源...
Apache需要监听多个IP地址和端口,以便同时处理来自不同源的请求。例如,`Listen 192.168.0.2:80`和`Listen 202.200.82.38:80`分别监听这两个IP地址的80端口。 3. C部分:加载阿帕奇连接器模块。通过`LoadModule`...
整合Apache和Tomcat构建Web服务器 一、Apache与Tomcat整合的必要性 Apache是最流行的Web服务器,开放源代码,支持跨平台的应用(可以运行在几乎所有的Linux、Unix、Windows系统平台上),尤其对Linux的支持相当...
1. **负载均衡**:`mod_jk`可以配置为将请求分散到多个Tomcat实例,实现负载均衡,提高系统可用性。 2. **会话持久性**:可以设置会话持久性,确保用户在一个Tomcat实例上创建的会话可以在其他实例上继续。 3. **...
mod_jk 是一个负载均衡器和反向代理,它能够帮助我们在多个应用服务器之间分发 HTTP 请求。本文将详细介绍 mod_jk 的不同版本及其与 Apache 和 Tomcat 的整合方法。 #### mod_jk 版本概述 mod_jk 是 Apache Tomcat...
每个worker代表一个Tomcat服务器,它定义了服务器的名称、类型(一般为ajp13,表示使用AJP协议)、主机名、端口以及连接器的其他参数。通过这个文件,我们可以灵活地添加、删除或调整后端Tomcat服务器,以适应负载...
在IT行业中,尤其是在服务器端应用部署领域,Apache和Tomcat的整合是一个常见的需求。Apache作为一款功能强大的HTTP服务器,能够处理静态内容,而Tomcat则是Java Servlet和JavaServer Pages(JSP)的容器,用于处理...
1. **Mod_JK模块**:Apache的Mod_JK模块是连接Apache和Tomcat的常用方式,它是一个负载均衡和反向代理模块,能将HTTP请求转发到多个Tomcat实例。通过配置mod_jk.conf,我们可以设置负载均衡策略,如轮询、最少连接数...