14

最近,我们的软件分析提供商 ( NETTRACKER ) 向我们发送了一个插件,以便能够以更好的方式捕获访问者。此插件适用于 Apache 1.x 和 Apache 2.x。他们说,我引用

因为 Apache Tomcat 是建立在 Apache HTTP 服务器上的,所以插件的配置应该是一样的。

我在我们的 tomcat 部署中查找了 httpd.conf,但找不到,唯一与该配置类似的配置是 /conf 目录下的 server.xml。

如果有人对这两个令人难以置信的产品(Apache HTTP 服务器和 Apache Tomcat)有更好的信息,我将不胜感激。

编辑:如果您好奇,我们知道 Apache Web 服务器和 Tomcat 可以使用 mod_jk 选项和其他代理一起工作。但这对于我们的部署来说太复杂了。

4

4 回答 4

18

Apache Tomcat 和 Apache HTTP 是完全不同的服务器技术。在 Tomcat 中使用 Apache HTTP 服务器插件是不可能的。

Apache HTTP 服务器是用 C 语言开发的,插件也是如此。相反,Tomcat 现在完全是用 Java 开发的。Tomcat 不仅提供静态内容,还可以提供 JSP 页面和 servlet。

Tomcat 用于托管 Java Web 应用程序。它可以确保提供静态内容 - 您可以仅使用 Tomcat 托管 Web 应用程序。支持安全连接,性能也非常好(与HTTP服务器的性能相当)。

Apache 的简单安装提供静态内容。使用适当的插件,可以将 HTTP 请求重定向到应用程序服务器(Tomcat、JBoss、Glassfish)或脚本语言解释器 (PHP)。通过这种方式,可以生成动态内容。Apache 的最大优势是可用的众多插件,它允许管理员以任何他们想要的方式配置和监控网站,这是可用的最广泛的服务器。这使其成为最安全的解决方案,因为它经过了彻底的测试,并且任何发现的缺陷都会很快得到纠正。

最好的解决方案是使用由 Apache 服务器代理的 Tomcat。设置起来并不难。如果你不能做到这一点,那么你就不能利用 Apache 的插件。

于 2009-02-24T15:24:39.863 回答
7

你总是看到这种困惑。许多人认为 Apache 是一个 Web 服务器,实际上它是一个组织的名称,该组织拥有一个名为“ Apache HTTP 服务器项目”的 Web 服务器项目。简而言之,Web 服务器称为 HTTPD(D 作为守护程序或 Unix 进程)。

Tomcat是另一个 Apache 项目。这个项目实现了一个 Java servlet 引擎来为 JSP 页面和 servlet 提供服务。Tomcat 和 HTTPD 没有任何关系。但是,您可以设置 HTTPD 和 Tomcat 以便它们一起工作。通过这种方式,您可以让 HTTPD 为所有静态内容提供服务,进行 URL 重写以及更多内置 Tomcat Web 服务器无法做到(或做得不好)的花哨的事情。每当请求 JSP 页面时,HTTPD 都会将该请求传递给 Tomcat。Tomcat 将处理请求并将输出返回给 HTTPD,然后将其发送给客户端。

Apache 有许多有趣的项目。例如,还有一个名为Geronimo的项目,它是一个 Java 企业服务器 (J2EE)。例如,您可以选择在 Geronimo 中嵌入 Tomcat 来处理对 JSP 和 servlet 的请求,在这些请求中 Geronimo 做的事情更多(LDAP、消息传递等)。您可能已经猜到了,您也可以将 HTTPD 用作 Geronimo 的静态内容服务器。

于 2009-02-24T22:04:53.710 回答
3

完全是假的。Apache httpd 插件是用 C 编写的,Tomcat 是纯 Java 的。

于 2009-02-24T15:27:32.243 回答
1

Tomcat 是一个 Java servlet 引擎。它可以托管在 Apache 或 IIS 或许多其他面向外部的 Web 服务器下。听起来您当前可能正在独立运行 Tomcat 实例...

如果您从端口 8080 为 JSP/servlet 提供服务,并让它在运行 Apache 的同一主机上独立执行操作,这可以让您将它们松散耦合。不建议使用多个 Web 服务器来处理独立的请求,特别是如果您想与 Apache 一起使用基于服务器的身份验证。通常,您有一个面向外部的服务器,它通过它来管理所有内容...... Apache 做得很好,并且您提到的插件可能依赖于这种类型的设置(一切都通过 Apache 连接)的特性/功能,基于您的对其进行简要说明。

如果您想在 Apache 下提供您的 Tomcat servlet,您可以配置 apache 以将一类 URI 转发到您的 Tomcat 服务器实例。您可以通过 mod_rewrite 实现这种类型的转发。在性能方面,这是一个较慢的选项,因为它会在您服务器上的所有内容上增加一些开销。您还可以通过类似的 CGI 机制代理传入请求,从 Apache 到 Tomcat。

mod_jk 将简化部署并提高将 Tomcat 放入 Apache 服务器配置的性能。如果您遵循文档,配置起来非常轻松,所以我不确定您的部署“太复杂”是什么意思——如果您想要 Apache 并且已经拥有 Tomcat,这似乎只是一个轻微的配置更改问题下载并安装mod_jk 。

于 2009-03-01T05:35:36.430 回答