Heim  >  Artikel  >  Betrieb und Instandhaltung  >  Der Unterschied zwischen Nginx Tomcat und Apache

Der Unterschied zwischen Nginx Tomcat und Apache

(*-*)浩
(*-*)浩Original
2019-07-15 10:26:273975Durchsuche

Apache sollte sich auf ein Projekt der Apache Software Foundation beziehen – das Apache HTTP Server Project

Der Unterschied zwischen Nginx Tomcat und Apache

Nginx ist ebenfalls ein Open-Source-HTTP-Server Software (natürlich kann er auch als Mail-Proxy-Server oder allgemeiner TCP-Proxy-Server verwendet werden).

Der HTTP-Server ist im Wesentlichen eine Anwendung – er läuft normalerweise auf dem Server, bindet die IP-Adresse des Servers und lauscht auf einen bestimmten TCP-Port, um HTTP-Anfragen zu empfangen und zu verarbeiten, sodass der Client (normalerweise Browser wie z IE, Firefox und Chrome) können über das HTTP-Protokoll Webseiten (HTML-Format), Dokumente (PDF-Format), Audio (MP4-Format), Videos (MOV-Format) und andere Ressourcen auf dem Server abrufen.

Apache Tomcat ist ein weiteres Projekt der Apache Foundation. Im Vergleich zu Apache HTTP Server kann Tomcat Ressourcen dynamisch generieren und an den Client zurückgeben.

Sowohl Apache HTTP Server als auch Nginx können den Inhalt einer bestimmten Textdatei über das HTTP-Protokoll an den Client zurückgeben, der Inhalt dieser Textdatei ist jedoch festgelegt – das heißt, Unabhängig davon, wie jemand darauf zugreift, ist der Inhalt, den er erhält, genau derselbe. Wir nennen solche Ressourcen statische Ressourcen.

Dynamische Ressourcen sind im Gegenteil unterschiedlich. Die Inhalte, auf die verschiedene Clients zu unterschiedlichen Zeiten zugreifen, sind unterschiedlich.

Zum Beispiel: Eine Seite, die die aktuelle Uhrzeit anzeigt, und eine Seite, die die aktuelle IP-Adresse anzeigt. Apache HTTP Server und Nginx selbst unterstützen die Generierung dynamischer Seiten nicht, sie können jedoch durch andere Module unterstützt werden (z. B über Shell-, PHP- und Python-Skripte zur dynamischen Generierung von Inhalten).

Wenn Sie Java-Programme zur dynamischen Generierung von Ressourceninhalten verwenden möchten, ist dies mit diesem HTTP-Servertyp schwierig.

Java Servlet-Technologie und die abgeleitete Java Server Pages-Technologie ermöglichen es Java-Programmen, auch HTTP-Anfragen zu verarbeiten und Inhalte zurückzugeben (dynamisch gesteuert durch das Programm). Tomcat ist der Container, der die Ausführung von Servlet/JSP-Anwendungen unterstützt ( Container);

Tomcat läuft auf JVM, bindet die IP-Adresse und lauscht auf den TCP-Port. Es enthält auch die folgenden Vorwürfe:

Der Lebenszyklus des Das Management-Servlet-Programm ordnet die URL dem angegebenen Servlet zur Verarbeitung zu und das Servlet-Programm arbeitet mit dem Servlet-Programm zusammen, um die HTTP-Anfrage zu verarbeiten. Es generiert ein HttpServletResponse-Objekt basierend auf der HTTP-Anfrage, übergibt es zur Verarbeitung an das Servlet und gibt es zurück vom HttpServletResponse-Objekt im Servlet generierte Inhalte an den Browser weiter.

Obwohl Tomcat auch als HTTP-Server betrachtet werden kann, wird es normalerweise immer noch zusammen mit Nginx verwendet:

(1) Trennung von dynamischen und statischen Ressourcen – Verteilung mithilfe der Reverse-Proxy-Funktion von Nginx. Anfrage: Alle Anforderungen für dynamische Ressourcen werden an Tomcat übergeben, während Anforderungen für statische Ressourcen (wie Bilder, Videos, CSS, JavaScript-Dateien usw.) von Nginx direkt an den Browser zurückgegeben werden, was den Druck auf Tomcat erheblich verringern kann.

(2) Wenn der Geschäftsdruck zunimmt, reicht eine Tomcat-Instanz möglicherweise nicht aus, um ihn zu bewältigen. Zu diesem Zeitpunkt können mehrere Tomcat-Instanzen für die horizontale Erweiterung gestartet werden, und die Lastausgleichsfunktion von Nginx kann dies tun Verteilen Sie es an verschiedene Instanzen zur Verarbeitung durch Algorithmen.

Weitere technische Artikel zu Nginx finden Sie in der Spalte Tutorial zur Nginx-Nutzung, um mehr zu erfahren!

Das obige ist der detaillierte Inhalt vonDer Unterschied zwischen Nginx Tomcat und Apache. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Ist Nginx ein Webcontainer?Nächster Artikel:Ist Nginx ein Webcontainer?