哪一个配置更好:Tomcat只有OR Apache Server + Tomcat?

时间:2014-01-06 20:22:25

标签: java apache tomcat ajp

我有一个VPS,我想安装一个用于生产的Web应用程序。

目前,它适用于使用AJP模块通过Apache Server连接的Tomcat 6。

每件事情都可以,但我想知道将Tomcat配置为主要的Web服务器是否是一个好主意,因为我们只会运行JSP应用程序。

仅供参考:服务器必须处理 https 请求。

提前致谢。

3 个答案:

答案 0 :(得分:2)

误传

多年前,很多错误信息反对直接使用Tomcat作为网络服务器,但实际上Tomcat的效果非常好。

我已经在各种项目中使用了几乎所有版本的Tomcat,尽管它们的数量都相对较少。永远不要让我失望 - 好吧,WebDAV模块永远不会正常工作。但除了Tomcat之外,静态内容以及动态servlet工作都是快速可靠的。

的httpd

Apache HTTP Server(“httpd”)当然非常先进并且功能齐全。如果您需要这些功能,请使用httpd。如果您的流量非常大,那么请使用httpd。如果你有大量的静态访问,并希望减轻Tomcat的职责,从而让Tomcat将其性能集中在你的servlet上,那么就使用httpd。如果您想在上下移动Tomcat时保持正面的网站运行,请使用httpd。但对于大多数相对简单的网站或简单的网络应用程序,Tomcat就足够了。

我建议你单独尝试Tomcat,看看它是怎么回事。从您的开发和测试系统开始。查看httpd的配置文件,看看是否可以使用Tomcat功能重现其所有功能。如果一切正常,那就做一些负载测试。要么破解你自己的一些负载测试,要么尝试任何一个负载测试框架。

虽然您可以将Web应用程序热部署到Tomcat,但并不总是建议在生产中使用(我不确定当前版本)。规划如何处理关闭Tomcat以部署更新的应用程序并执行维护工作。

最近的Tomcat

您说您正在使用Tomcat 6.您可能需要考虑转移到Tomcat 78,但请查看发行说明。

码头

还要考虑Jetty,这是Tomcat最直接的竞争对手/替代方案。 Jetty在目的,功能范围和声誉方面与Tomcat非常相似。

答案 1 :(得分:1)

如果您正在使用SSL,那么前面的Apache HTTPD将获得以下好处:

  1. 能够按优先顺序指定密码套件,如果您需要使用大小写加强的SSL,这实际上是强制性的,而单独使用Tomcat是不可能的。
  2. 能够以每个位置为基础而不是全局地请求或要求客户端证书,这是Tomcat唯一的机制。
  3. 还有许多其他好处,例如:

    • 在多个Tomcat实例之间进行负载平衡的能力,这可能足以说明这一点。
    • 可以更好地控制记录的内容以及日志文件的位置
    • 更多防御各种攻击的工具。

    我多年来一直使用独立的Tomcats,但是即使是干净的工作项目,我也不会回头。

答案 2 :(得分:0)

我认为两者都不是更好,这取决于您的要求。在您可能必须在异构后端(IIS,Tomcat等)中横向解决安全性或日志记录要求的环境中,Apache是​​您的朋友(或昂贵的负载均衡器)。

假设您没有这些要求,我不知道将Apache用于Apache的任何优势。

在Tomcat中可以轻松配置SSL,而且这些天的性能可能与Apache相当,并且可以通过APR进行改进。