Apache与Tomcat关系
TomcatApacheJVMPHPPerl
1、为什么要整合Apache和Tomcat?
2、没有Apache,Tomcat会出现什么问题?
3、Tomcat对静态网页的处理相对于Apache难道真的非常差吗?差多少?
主要目的
1. tomcat不建议用root跑,而linux下面不可以用非root帐号跑80端口 (除了apache外,也可以用iptables)
2. 用mod_jk做软负载均衡
3. tomcat是单一的java servlet container,如果没有apache则不可以运行php, perl等程序
简单的IMAGE/HTML/ARCHIVE文件在tomcat上也是经过java线程处理,比较浪费资源
给我个集成(或者不集成)Apache和Tomcat的理由
有很多的理由将Tomcat和Apache集成,同样也有很多的理由不这样做。在Tomcat 5中,性能不在是决定性因素。以下就是集成与不集成的讨论:
1、聚合。使用Apache做为前端大门,后端部署多个Tomcat实例,如果一个实例出现问题,Apache将忽略这个实例,让系统管理员高枕无忧。当然如果在硬件负载均衡设备的基础上利用Tomcat的聚合能力就没有必要进行集成了。
2、聚合/安全。当然如果使用Apache做为门户来区分拥有不同URL命名空间的不同的Tomcat。每个Tomcat都成为一个保护区域,从安全角度讲,仅仅需要主要Apache 服务器。在这个方案中,Apache已经变成一个轻量级的代理服务器。
3、安全。就安全来讲,集成和不集成都是争论双方的焦点。Java有安全管理功能,Apache对安全考虑的也是比较周道的。可以使用Google来查阅这方面的资料。在某个场合中,集成是上上策,但是另外一个场合,可能不集成略胜一筹。但是如果集成Apache和Tomcat,一定要记住:你需要同时关注Apache和Tomcat的安全,而不是一个。
4、附加因素。在Apache上运行perl,PHP和CGI都是很普通的事情。但是对Tomcat来说,不仅速度忙,而且不太正式。Apache可以任意添加上百个附加软件,当然Tomcat也有这个能力,但是这样的模块还没有开发出来。
5、装饰。当Apache做为Tomcat前端时,你可以完成大量Tomcat不支持或没有现成代码的装饰工作。没有必要重新为Tomcat开发一套类似为Apache的mod_headers,mod_rewrite, and mod_alias。
6、速度。Apache的静态网页处理速度高于Tomcat。但是除非你的流量很大,这一点时没有意义的。在另外一些情况下,Tomcat要比Apache快。所以两者结合可以加速你的站点。
7、Socket handling(姑且认为是连接)/系统稳定性。Apache在处理错误链接上优于Tomcat。主要原因是Tomcat所有的连接都交给JVM来处理,而JVM是跨平台的,问题是跨平台的优化是一个严峻的考验。大部分时间java程序都是正常的,但是当情况非常恶劣时,例如:非常频繁的掉线,无效数据包,无效IP的无效请求。Apache比基于JVM的程序要好。
因为我所有的页面都是html(xml+xslt=html+css=我的站点)。所以Apache是最优选择了。
分享到:
相关推荐
Apache和Tomcat的关系.docx
Tomcat与JDK版本对应关系为: Servlet规格 JSP规范 EL规格 WebSocket规范 JASPIC规格 Apache Tomcat版本 最新发行版本 支持的Java版本 4.0 2.3 3.0 1.1 1.1 9.0.x 9.0.27 8及更高版本 3.1 2.3 3.0 1.1 1.1 ...
在安装Tomcat前,你的Win2000下应该已经安装了Apache和JDK,并且你应该已经能大致了解Apache、JDK、Tomcat在系统中的地位和相互关系。如果你还没有安装好Apache和JDK,你可以参阅Apache1.3.20在windows下的使用、 ...
该项目使用Apache Maven 2来管理依赖关系,使用与数据库进行通信,并使用SQLite作为DBMS在Apache Tomcat上运行servlet。 可以使用运行运行create.sh maven创建一个新的tomcat项目,或者: mvn archetype:generate ...
Apache Tomcat7 应用服务器的 Ansible 角色。 要求 此处应提及 Ansible 本身或角色可能未涵盖的任何先决条件。 例如,如果角色使用 EC2 模块,则在本节中提及需要 boto 包可能是个好主意。 角色变量 tomcat_user - ...
NULL 博文链接:https://memorymyann.iteye.com/blog/990662
第一步首先下载isapi_redirect.dll 文件,目前最新版本为1.2.31,下载地址为:http://archive.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/ 注意下载的版本与你的OS关系,我的服务器是使用的WIN 2003 32...
Apache Roller是一个全功能,多用户和组博客服务器,适合大型和小型博客...目前,Apache Roller能很好的支持Tomcat和MySQL。 本人用myeclipse 8.6 进行了整合,部署项目时请用 此版本的 myeclipse 即可。仅供学习参考
下载项目后请先仔细阅读readme.txt 基于ssm的仿微博系统 一、项目简介 基于SSM框架制作的一个简易的微博系统 前端框架用的是Bootstrap ...Tomcat:apache-tomcat-8.5.30 IDE:Eclipse Neon.3 Release (4.6.3)
Tomcat 隶属于 Apache 基金会,是开源的轻量级 Web 应用服务器,使用非常广泛。server.xml是 Tomcat 中最重要的配置文件,server.xml的每一个元素都对应了 Tomcat 中的一个组件;通过对 XML 文件中元素的配置,...
2.实现shiro的授权信息缓存到redis数据库,减少关系数据库访问压力 3.实现session共享到redis,实现多服务器集群方案 4.配置文档中包含丰富的注释,搭建思路清晰的ssm项目框架 5.项目中的所有细节...
第1章 关系型数据库 1.1 理解关系型数据库管理系统 1.1.1 关系模型 1.1.2 Codd法则 1.1.3 表、行、列和关键字 1.1.4 主键 1.1.5 外键 1.1.6 关系 1.1.7 视图 1.1.6 范式化 1.2 高级语言 1.2.1 结构化...
第1章 关系型数据库 1.1 理解关系型数据库管理系统 1.1.1 关系模型 1.1.2 Codd法则 1.1.3 表、行、列和关键字 1.1.4 主键 1.1.5 外键 1.1.6 关系 1.1.7 视图 1.1.6 范式化 1.2 高级语言 1.2.1 结构化...
第1章 关系型数据库 1.1 理解关系型数据库管理系统 1.1.1 关系模型 1.1.2 Codd法则 1.1.3 表、行、列和关键字 1.1.4 主键 1.1.5 外键 1.1.6 关系 1.1.7 视图 1.1.6 范式化 1.2 高级语言 1.2.1 结构化...
第1章 关系型数据库 1.1 理解关系型数据库管理系统 1.1.1 关系模型 1.1.2 Codd法则 1.1.3 表、行、列和关键字 1.1.4 主键 1.1.5 外键 1.1.6 关系 1.1.7 视图 1.1.6 范式化 1.2 高级语言 1.2.1 结构化...
Web容器: 支持Servlet 3.0规范的容器,如Apache Tomcat7。 数据库: MySQL8.0关系型数据库管理系统).zip 基于SSM的超市订单管理系统源码+项目说明(需要以下运行环境: Java环境: Jdk8或更高版本。 Web容器: ...
这是我的第一个ssm项目,做了快有一个半月,本着做一个大作业顺便熟悉框架顺便找实习的小项目....的想法 前端框架用的是Bootstrap ...Tomcat:apache-tomcat-8.5.30 IDE:Eclipse Neon.3 Release (4.6.3)
基于ssm的仿微博系统 关系数据库系统:MySQL5.5 JDK版本:1.8 浏览器:Chrome Maven:apache-maven-3.5.3 Tomcat:apache-tomcat-8.5.30 IDE:Eclipse Neon.3 Release (4.6.3)
Apache Tomcat是一款优秀的Java Web容器,对于各个站长来说,可以很方便的使用Tomcat将自己的网站博客放在公网的服务器上,分享自己的心得以及个人博客。 那么在公网中的访问,没有被第三方公认可信的机构加密时,...
Apache Tomcat 既充当 Web 服务器又充当 servlet/JSP 引擎。 表示层由 JSP 组成,业务层由 servlet 和 JavaBean 组成。 库存项目由通过 JDBC API 连接的关系 DBMS (MySQL) 控制。 管理登录的基本认证安全约束。