1 Frage Der Server des Unternehmens verwendet Apache, das Backend ist PHP und der Server verwendet Linux C/C++. Ich höre oft von Apache-Servern. Der Server des Unternehmens, bei dem ich vorher ein Praktikum gemacht habe, verwendete Java. Ich erinnere mich vage daran, dass ich den Reverse-Proxy-Server nginx und Tomcat verwendet habe. Die Anfrage geht zuerst über nginx und wird dann über Tomcat weitergeleitet. Mein Verständnis von Apache-Server, Tomcat und nginx ist also etwas vage. Heute habe ich relevante Informationen eingeholt, um die Nutzungsszenarien zu vergleichen und 2 Apache-, Tomcat-, Nginx-Terminologie 1) Apache Der Apache-HTTP-Server ist ein modularer Server, der auf fast allen weit verbreiteten Computerplattformen wie Linux, Unix, Windows usw. ausgeführt werden kann. Es handelt sich um einen Anwendungsserver. Apache unterstützt viele Module und weist eine stabile Leistung auf. Apache selbst ist eine statische Analyse, die für statisches HTML, Bilder usw. geeignet ist. Ich habe beispielsweise zuvor Freemarker verwendet, das ebenfalls statisch ist, aber dynamische Seiten durch erweiterte Skripte und Module unterstützen kann. Apache unterstützt PHP, CGI und Perl. Wenn Sie jedoch Java verwenden möchten, benötigen Sie Tomcat, um dies im Hintergrund von Apache zu unterstützen und Java-Anfragen von Apache zur Verarbeitung an Tomcat weiterzuleiten. Nachteile: Die Konfiguration ist relativ komplex und unterstützt keine dynamischen Seiten. Es sind Plug-In-Erweiterungen wie FastCGI und Tomcat erforderlich, um die dynamische Seitenanalyse zu unterstützen. Freunde, die mit J2EE arbeiten, wissen, dass unsere dynamischen Seiten JSP verwenden müssen. Daher benötigen wir Tomcat, um dynamische Seiten zu analysieren. Tomcat ist ein Servlet-Container. Natürlich kann es unabhängig von Apache sein und Tomcat direkt als Server verwenden. 2) Kater Tomcat ist ein Anwendungsserver (Java). Es handelt sich lediglich um einen Servlet-Container (JSP wird auch als Servlet übersetzt). Es kann als Erweiterung von Apache betrachtet werden, kann jedoch unabhängig von Apache ausgeführt werden. Mit anderen Worten: Ohne Apache kann nur Tomcat statische Seiten und dynamische Seiten (JSP) analysieren. 3) Nginx Nginx ist ein sehr leichter HTTP-Server, der von Russen geschrieben wurde. Es handelt sich um einen leistungsstarken HTTP- und Reverse-Proxy-Server sowie einen IMAP/POP3/SMTP-Proxy-Server. 3. Vergleich 1) Vergleich zwischen Apache und Tomcat Ähnlichkeiten: Beide werden von der Apache-Organisation entwickelt, beide verfügen über HTTP-Dienstfunktionen und beide sind Open Source und kostenlos. Unterschiede: a) Apache wird verwendet, um HTTP-Dienste und zugehörige Konfigurationen (wie virtuelle Hosts, URL-Weiterleitung usw.) bereitzustellen, während Tomcat ein von der Apache-Organisation gemäß den JSP- und Servlet-Standards von Java EE entwickelter JSP-Server ist. b) Apache ist ein Webserver-Umgebungsprogramm. Es kann durch Aktivierung als Webserver verwendet werden, unterstützt jedoch nur statische Webseiten wie ASP, PHP und Freemarker. Wenn Sie dynamische Sprachen wie JSP auf dem Java-Server verwenden möchten, benötigen Sie den Tomcat-Interpreter zum Parsen von JSP. Apache kann es nicht parsen. Denken Sie daran. c) Apache konzentriert sich auf HTTP-Server, während Tomcat sich auf Servlet-Container konzentriert. Es unterstützt JSP, ist aber nicht ideal für statische Webseiten. Mit anderen Worten: Apache kann statische Dateien besser verarbeiten als Tomcat. Tomcat ist praktischer zum Parsen dynamischer Sprachen (JSP). Wir können Apache zum Verarbeiten statischer Dateien und Tomcat zum Verarbeiten dynamischer Dateien verwenden. d) Apache ist ein Webserver, Tomcat ist ein Anwendungsserver (Java) und kann als Erweiterung von Apache betrachtet werden, kann aber unabhängig von Apache ausgeführt werden Tatsächliche Verwendung: Apache+Tomcat (wenn es ein Java-Server ist) Wenn der Client eine statische Seite anfordert, muss nur der Apache-Server auf die Anforderung antworten. Wenn der Client eine dynamische Seite anfordert, antwortet der Tomcat-Server auf die Anforderung. JSP wird vom Server interpretiert, sodass diese Integration den Service-Overhead von Tomcat reduzieren kann. Es ist klar, dass Tomcat eine Erweiterung von Apache ist. 2) Vergleich zwischen Nginx und Apache 1 Vorteile von Nginx a) Leichtgewichtig. Als Webdienst benötigt es weniger Speicher und Ressourcen als Apache. b) Anti-Parallelität: Nginx verarbeitet Anforderungen asynchron und nicht blockierend. Mehrere Verbindungen (10.000 Ebenen) können einem Prozess entsprechen. Apache hingegen ist ein synchroner Blockierungstyp, ein synchrones Mehrprozessmodell. Eine Verbindung entspricht einem Prozess. c) Hochmodulares Design, das Schreiben von Modulen ist relativ einfach. d) Sorgen Sie für Lastenausgleich e) Einfache Konfiguration f) Die statische Verarbeitungsleistung von Nginx ist mehr als dreimal höher als die von Apache e) nginx ist nur für statische und Reverse-Proxys geeignet Verständnis des Reverse-Proxys: Beim Reverse-Proxy wird ein Proxy-Server verwendet, um Verbindungsanfragen aus dem Internet anzunehmen und diese Anfragen dann zur Verarbeitung an den Server im internen Netzwerk weiterzuleiten. Er verarbeitet die Anfragen nicht selbst. Das vom Server erhaltene Ergebnis wird an den Client zurückgegeben, der die Verbindung im Internet anfordert. Zu diesem Zeitpunkt erscheint der Proxyserver der Außenwelt als Webserver, der die Daten tatsächlich nur weiterleitet, ohne eine Verarbeitung durchzuführen. 2 Apache Vorteile a) Die Neufassung von Apache ist leistungsfähiger als die von nginx. b) Unterstützt dynamische Seiten. c) Es unterstützt viele Module und deckt grundsätzlich alle Anwendungen ab. d) Stabile Leistung. e) Apaches Unterstützung für PHP ist relativ einfach f) Im Vergleich zu Nginx kann Apache dynamische Anforderungen besser verarbeiten. 3) Vergleich zwischen Nginx und Tomcat Wir wissen, dass Nginx im Allgemeinen sehr gut mit statischen Verarbeitungen umgehen kann, aber dynamische Sprachen wie (jsp) nicht analysieren kann. Wir benötigen außerdem Tomcat zum Interpretieren von jsp, daher verwenden wir im Allgemeinen Tomcat für die dynamische Verarbeitung und Nginx für die statische Verarbeitung. Die Website des Unternehmens, bei dem ich zuvor ein Praktikum gemacht habe, verwendete eine Kombination aus Nginx + Tomcat. Nginx fungiert als Reverse-Proxy. Wenn die statische Verarbeitung von Nginx übernommen wird, werden dynamische Anforderungen im Hintergrund von Tomcat verarbeitet. Dies ist der dynamische Trennungsmechanismus von Nginx. Ich habe ihn vorher nicht ganz verstanden, aber jetzt verstehe ich endlich, warum er so abgestimmt ist. Unterm Strich sind die statischen Verarbeitungsfunktionen von Nginx stärker als die von Tomcat, daher müssen die Anforderungen zuerst durch Nginx geleitet werden. Der Apache-Server ist hier nicht erforderlich. 4 Zusammenfassung a) Statische Verarbeitungsfähigkeit:
b) Vorteile von Nginx: Lastausgleich, Reverse-Proxy und Verarbeitung statischer Dateien. Aus diesem Grund muss der Java-Server Tomcat zuerst vom Nginx-Server verarbeitet werden (er leitet nur Anfragen weiter und führt keine anderen Vorgänge aus. Die Erklärung zum Reverse-Proxy finden Sie oben). Nginx bietet eine bessere Parallelität und eine geringe CPU- und Speichernutzung. c) Vorteile von Apache: Im Vergleich zum Tomcat-Server bietet es den Vorteil der Verarbeitung statischer Dateien und einer hohen Geschwindigkeit. Apache ist ein statischer Parser, der für statisches HTML und Bilder geeignet ist. Natürlich verfügt er über starke Lese- und Schreibfähigkeiten. Wenn häufig umgeschrieben werden muss, ist Apache besser geeignet, da es stabiler ist und Vorteile bei der Handhabung dynamischer Vorgänge bietet. Voraussetzung ist, dass kein Tomcat vorhanden ist, es sich also nicht um einen Java-Server handelt. d) Tomcat: Ein dynamischer Parsing-Container, der dynamische Anfragen verarbeitet und ein Container zum Kompilieren von JSP und Servlet ist. Nginx verfügt über einen dynamischen Trennungsmechanismus. Statische Anfragen können direkt von Nginx verarbeitet werden, und dynamische Anfragen werden zur Verarbeitung durch Tomcat an das Backend weitergeleitet. Zusammenfassen Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels einen gewissen Lernwert für Ihr Studium oder Ihre Arbeit hat. Vielen Dank für Ihre Unterstützung von 123WORDPRESS.COM. Wenn Sie mehr darüber erfahren möchten, schauen Sie sich bitte die folgenden Links an Das könnte Sie auch interessieren:
|
<<: Es ist ganz einfach zu verstehen, was Node.js ist
Szenario Gestern hat das System automatisch alle ...
Die Voraussetzungen sind wie folgt: Unter dem Dom...
Grundbegriffe des Konsuls Servermodus und Clientm...
Bedürfnisse entdecken Wenn nur ein Teil eines Ber...
1. Aktuelles Datum wählen Sie DATE_SUB(curdate(),...
Hintergrundanforderungen: Das ERP-System muss ein...
In diesem Artikelbeispiel wird der spezifische Co...
Allgemeiner Handy-Stil: @media alle und (Ausricht...
1. Docker-Netzwerkmodus Wenn Docker Run einen Doc...
Heutzutage wird aufgrund der Projektanforderungen ...
Im vorherigen Artikel „Änderungen der MySQL-Tabel...
Suchspiegel Docker-Suche Rocketmq Bildversion anz...
1. Hintergrund des Vorfalls: Aus Arbeitsgründen m...
Vorwort Wir alle wissen, dass man QR-Codes in off...
1.fullpage.js Download-Adresse https://github.com...