Как связаны между собой HTTP-сервер Apache и Tomcat Apache? (Если вообще)

34

В настоящее время у меня работает Apache httpd на рабочем сервере Ubuntu VPS. Я пишу PHP-скрипты.

Я заинтересован в изучении Java, и мне было интересно, как я мог бы написать какую-нибудь серверную Java для работы с моей текущей установкой.

Как Apache Tomcat и Apache HTTP Server связаны друг с другом?

Может ли Tomcat быть модулем httpd?

Или это просто два совершенно разных проекта, управляемых одной и той же организацией (Apache Software Foundation)?

JW01
источник
5
Or are they simply just two very different projects that happen to be steered by the same organisation?- Они есть
Mchl
@Mchl, они тоже очень похожи.
Пейсер

Ответы:

56

В общем, HTTP-сервер Apache - это просто старый веб-сервер, предназначенный для обслуживания статических веб-страниц. Существует множество модулей, которые можно установить для расширения возможностей Apache, чтобы он мог обслуживать динамические веб-страницы с использованием различных технологий, таких как PHP, CGI или что-то еще, но ядро ​​Apache - это просто старый HTTP-сервер.

Tomcat, с другой стороны, специально разработан с нуля, чтобы служить в качестве движка Java Servlet . Его основная цель - реализовать API сервлетов Java и выполнять сервлеты Java с целью создания динамических веб-сайтов. Tomcat также можно использовать в качестве обычного HTTP-сервера, который обслуживает статические страницы, но это не является его основным назначением. (Кроме того, Tomcat предположительно медленнее, чем Apache httpd, когда речь идет об обслуживании статических страниц.)

Эти две технологии могут использоваться вместе через модуль соединителя, называемый mod_jk . Это позволит вам использовать HTTP-сервер Apache для обслуживания обычных статических веб-страниц и механизм сервлетов Tomcat для выполнения сервлетов.

Чарльз Сальвиа
источник
Можно ли сказать, что когда кто-то загружает Tomcat, он / она загружает веб-сервер, такой как Apache Httpd (но не совсем так), и контейнер сервлетов, который является просто Java-приложением?
Корай Тугай
@Charles, почему Tomcat медленнее, чем Apache?
Пейсер
@Pacerier - он сказал «якобы», потому что, хотя люди широко в это верят, на самом деле это не так .
Жюль
@KorayTugay не совсем, нет. Tomcat - это просто контейнер сервлетов. Он поставляется с сервлетом по умолчанию, который реализует статический веб-сервер. Вы не можете выделить компонент веб-сервера без контейнера сервлета.
Жюль