W jaki sposób powiązane są serwery HTTP Apache i Apache Tomcat? (Jeśli w ogóle)

34

Obecnie mam httpd Apache działający na produkcyjnym serwerze Ubuntu VPS. Piszę skrypty php.

Interesuję się nauką języka Java i zastanawiałem się, jak zająć się pisaniem oprogramowania Java po stronie serwera, aby pracować nad bieżącą konfiguracją.

W jaki sposób Apache Tomcat i Apache HTTP Server są ze sobą powiązane?

Czy Tomcat może być modułem httpd?

A może są to po prostu dwa bardzo różne projekty, którymi kieruje ta sama organizacja (Apache Software Foundation)?

JW01
źródło
5
Or are they simply just two very different projects that happen to be steered by the same organisation?- Oni są
Mchl
@Mchl, są też bardzo podobne.
Pacerier

Odpowiedzi:

56

Ogólnie rzecz biorąc, serwer HTTP Apache jest zwykłym starym serwerem WWW zaprojektowanym do obsługi statycznych stron internetowych. Istnieje wiele modułów, które można zainstalować, aby zwiększyć możliwości Apache, dzięki czemu może on obsługiwać dynamiczne strony internetowe przy użyciu różnych technologii, takich jak PHP, CGI lub cokolwiek innego, ale rdzeniem Apache jest zwykły stary serwer HTTP.

Z drugiej strony Tomcat jest zaprojektowany od podstaw, aby służyć jako silnik Java Servlet . Jego głównym celem jest implementacja Java Servlet API i wykonywanie serwletów Java w celu budowania dynamicznych stron internetowych. Tomcat może być również używany jako zwykły serwer HTTP, który obsługuje strony statyczne, ale nie jest to jego głównym celem. (Tomcat jest rzekomo wolniejszy niż httpd Apache, jeśli chodzi o wyświetlanie stron statycznych).

Te dwie technologie mogą być używane razem przez moduł złącza o nazwie mod_jk . Umożliwi to użycie serwera HTTP Apache do obsługi regularnych stron statycznych oraz silnika serwletu Tomcat do wykonywania serwletów.

Charles Salvia
źródło
Czy możemy powiedzieć, że kiedy pobiera się Tomcat, to pobiera on serwer WWW taki jak Apache Httpd (ale nie dokładnie to) ORAZ kontener serwletów, który jest po prostu aplikacją Java?
Koray Tugay
@Charles, Dlaczego Tomcat jest wolniejszy niż Apache?
Pacerier
@Pacerier - powiedział „rzekomo”, ponieważ chociaż ludzie powszechnie w to wierzą, w rzeczywistości nie jest to prawdą .
Jules
@KorayTugay nie do końca, nie. Tomcat to tylko pojemnik serwletu. Zdarza się, że jest dostarczany z domyślnym serwletem, który implementuje statyczny serwer WWW. Nie można oddzielić komponentu serwera WWW bez kontenera serwletu.
Jules