何时使用Apache而不是Apache+Tomcat?

8

在许多Web应用程序中,仅使用Apache就足够了,那么人们何时和为什么会额外使用Tomcat?

2个回答

9

Apache Tomcat是一个将Web服务器和Java Servlet容器合二为一的工具,而Apache HTTPD只是一个基本的Web服务器(通常仅支持PHP)。当他们想要运行Java/JSP/Servlet时,他们会使用Apache Tomcat。它可以添加到现有的Apache HTTPD / PHP设置中。或者反过来,他们将Apache HTTPD放在Apache Tomcat前面,以便在Tomcat进行升级/维护时具有“网站正在维护中”的页面。

Apache HTTPD和Apache Tomcat之间的通信通常使用Tomcat连接器。它也被称为mod_jk


如果你只运行Apache,是否存在任何安全问题? - Genadinik
1
Apache是一个软件基金会的名称。你是指Apache HTTPD还是Apache Tomcat?无论如何,我没有看到在一起运行它们时有任何安全问题,更不用说分开运行了。这个问题背后的理由是什么?你是新手Java/JSP/Servlet或者其他什么吗? - BalusC
嗯,我不是新手。在我曾经参与的一个Java工作室中,这些事情都由其他人处理,我从来没有得到过这种问题的答案。现在我正在做一个php网站,我只是想知道我错过了什么,因为我只运行Apache HTTPD :) - Genadinik
1
你只会错过在由JSP/Servlet提供的网站上运行Java代码的能力。 - BalusC

3
也许已经太晚了,但我将为您解答。
“Apache”是一个编写开源软件的基金会名称。Apache HTTPD是一种用可移植C编写的Web服务器(当人们说“Apache”时,通常指的是Apache HTTPD)。它主要通过自身提供静态内容,但有许多附加模块(其中一些随Apache本身提供)可以让它修改内容并提供使用Perl、PHP、Python、Ruby或其他语言编写的动态内容。
Tomcat主要是一个Servlet/JSP容器,它是用Java编写的。它也可以提供静态内容,但其主要目的是托管Servlet和JSP。尽管可能会将Tomcat用于运行Perl脚本等,但除非大部分内容都是Java,否则不会使用Tomcat。
实际上,可以同时使用Apache和Tomcat,以便Apache提供静态内容,而Tomcat提供Servlet和JSP。根据各种因素,这可能是个好主意,也可能不是。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接