【问题标题】:Which one is the better configuration: Tomcat only OR Apache Server + Tomcat?哪个配置更好:仅 Tomcat 或 Apache Server + Tomcat?
【发布时间】:2014-01-07 14:46:34
【问题描述】:

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

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

一切正常,但我想知道将 Tomcat 配置为主 Web 服务器是否是个好主意,因为我们将只运行 JSP 应用程序。

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

提前致谢。

【问题讨论】:

    标签: java apache tomcat ajp


    【解决方案1】:

    错误信息

    几年前有很多错误信息反对将Tomcat 直接用作 Web 服务器,但实际上 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 非常相似。

    【讨论】:

      【解决方案2】:

      如果您使用 SSL,您将通过使用 Apache HTTPD 前端获得以下好处:

      1. 能够按优先顺序指定密码套件,如果您想要大小写强化的 SSL,这实际上是强制性的,而单独使用 Tomcat 是不可能的。
      2. 能够基于每个位置而不是全局请求或要求客户端证书,这是 Tomcat 的唯一机制。

      还有许多其他好处,例如:

      • 能够在多个 Tomcat 实例之间实现负载平衡,仅此一项就足够了
      • 更好地控制记录的内容和日志文件的去向
      • 更多防御各种攻击的工具。

      我多年来一直使用独立的 Tomcat,但在进行了切换之后,即使是一个全新的项目,我也永远不会回去。

      【讨论】:

      【解决方案3】:

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

      假设您没有这些要求,我不知道为 Apache 使用 Apache 有什么好处。

      SSL 很容易在 Tomcat 中配置,如今的性能可能与 Apache 相当,并且可以通过 APR 得到改进。

      【讨论】:

        猜你喜欢
        • 2020-08-22
        • 2011-12-09
        • 1970-01-01
        • 1970-01-01
        • 2015-07-29
        • 1970-01-01
        • 2017-08-30
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多