Detaillierte Erklärung der Funktionen jedes Ports von Tomcat

Detaillierte Erklärung der Funktionen jedes Ports von Tomcat

Aus der Tomcat-Konfigurationsdatei können wir ersehen, dass beim Start von Tomcat standardmäßig drei Ports gestartet werden, nämlich 8080 (8443), 8009 und 8005.

Port 8080 (8443)

<Anschluss-Port="80" Protokoll="HTTP/1.1"
   VerbindungsTimeout="20000"
   UmleitungsPort="8443" />

Dies dürfte derjenige sein, mit dem wir am besten vertraut sind. Er wird häufig bei der täglichen Entwicklung und beim Testen verwendet. Der Connector wird verwendet, um auf vom Browser gesendete Anfragen zu hören. Nachdem Sie ihn auf 80 gesetzt haben, können Sie direkt über http://localhost darauf zugreifen.

http-Protokoll, wobei redirectPort bedeutet, dass beim Senden einer https-Anforderung die Anforderung an Port 8443 gesendet wird.

8443 ist der standardmäßige HTTPS-Abhörport, der standardmäßig nicht aktiviert ist. Wenn Sie ihn aktivieren möchten, müssen Sie das Zertifikat selbst generieren und angeben und es zusätzlich auskommentieren, da Tomcat nicht mit einem eigenen Zertifikat geliefert wird.

Hafen 8009

<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

Wenn Nginx, Apache usw. als Reverse-Proxys für Tomcat verwendet werden, können Sie das AJP-Protokoll für den Reverse-Proxy zu diesem Port verwenden.
Obwohl wir für Port 8080 häufig einen Reverse-Proxy für HTTP verwenden, ist AJP im Reverse-Proxy effizienter als HTTP, da AJP eine TCP-Verbindung nach dem Herstellen normalerweise für lange Zeit aufrechterhält und so den Overhead durch wiederholtes Verbinden und Trennen von TCP durch HTTP verringert.

Anschluss 8005

<Server-Port="8005" shutdown="HERUNTERFAHREN">

Der Shutdown-Port, den Tomcat abhört, bedeutet, dass dieser Port für das Abhören von Anforderungen zum Herunterfahren von Tomcat verantwortlich ist.

Wenn shutdown.sh ausgeführt wird, um Tomcat herunterzufahren, stellt es eine Verbindung zu Port 8005 her und führt den Befehl SHUTDOWN aus. Daher verwenden wir direkt Telnet, um SHUTDOWN auf Port 8005 auszuführen und Tomcat herunterzufahren. Dies ist auch eine konventionellere Art des Herunterfahrens. Wenn dieser Port nicht überwacht wird, ist das sh-Skript ungültig.

Tatsächlich sind die Ports 8005 und 8009 nicht erforderlich, insbesondere da SHUTDOWN standardmäßig auf 127.0.0.1 lauscht. Wenn Sie jedoch eine Verbindung zu diesem Port herstellen und SHUTDOWN senden, kann dies dazu führen, dass Tomcat ohne Überprüfung heruntergefahren wird, was ein Sicherheitsrisiko darstellt.

Der AJP-Port wird zur Interaktion mit dem Anwendungsserver verwendet, z. B. für die Verbindung von Apache zu Tomcat usw. Er wird während der Entwicklung im Allgemeinen nicht verwendet und kann deaktiviert werden.

Deaktivierungsmethode:

AJP-Port, kommentieren Sie einfach die Konfigurationszeile in der Datei server.xml aus.

Der SHUTDOWN-Port wird in die Serverparameter geschrieben. Er ist nutzlos, wenn Sie ihn direkt entfernen. Er wird auch standardmäßig gestartet. Es wird generell empfohlen, den Port in den Sicherheitseinstellungen in einen anderen Port und SHUTDOWN in andere komplexe Zeichenfolgen zu ändern.

Tatsächlich kann dieser Port direkt blockiert und nicht abgehört werden. Ändern Sie beim Einstellen einfach den Portwert auf -1.

<Server-Port="-1" shutdown="HERUNTERFAHREN">

server.xml-Konfigurationsdatei

<!-- Attribut Beschreibung Port: Gibt einen Port an, der auf Anforderungen zum Herunterfahren von Tomcat wartet. Shutdown: Die Befehlszeichenfolge, die an den obigen Port gesendet wird, um den Server herunterzufahren. -->
<Server-Port="8005" shutdown="HERUNTERFAHREN">

 <Listener-Klassenname="org.apache.catalina.core.AprLifecycleListener" />
 <Listener-Klassenname="org.apache.catalina.mbeans.ServerLifecycleListener" />
 <Listener-Klassenname="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
 <Listener-Klassenname="org.apache.catalina.storeconfig.StoreConfigLifecycleListener"/>

 <GlobalNamingResources>
 <Umgebungsname="simpleValue" Typ="java.lang.Integer" Wert="30"/>
 <Ressourcenname="Benutzerdatenbank" auth="Container"
  Typ="org.apache.catalina.UserDatabase"
  Beschreibung="Aktualisierbare und speicherbare Benutzerdatenbank"
  Fabrik="org.apache.catalina.users.MemoryUserDatabaseFactory"
  Pfadname="conf/tomcat-users.xml" />
 </GlobalNamingResources>

 <Dienstname="Catalina">
 <!--
  Verbindungselement:
  Definiert durch die Connector-Schnittstelle. Das <Connector>-Element stellt die Komponente dar, die tatsächlich mit dem Clientprogramm interagiert. Es ist für den Empfang von Clientanforderungen und die Rückgabe von Antwortergebnissen an den Client verantwortlich.

  Attributbeschreibung:
  Port: Die Portnummer des Server-Connectors, der auf dem angegebenen Port auf Anfragen von Clients wartet.
  enableLookups: Wenn wahr, können Sie den tatsächlichen Hostnamen des Remote-Clients abrufen, indem Sie request.getRemoteHost() aufrufen, um eine DNS-Abfrage durchzuführen; wenn falsch, wird keine DNS-Abfrage durchgeführt, aber seine IP-Adresse wird zurückgegeben.
  redirectPort: Die Portnummer, zu der der Server nach dem Empfang einer SSL-Transportanforderung bei der Verarbeitung einer HTTP-Anforderung umleitet.
  acceptCount: Wenn alle verfügbaren Threads zur Verarbeitung von Anfragen aufgebraucht sind, dies ist die Anzahl der Anfragen, die in die Verarbeitungswarteschlange gestellt werden können. Anfragen, die diese Zahl überschreiten, werden nicht verarbeitet und es wird ein Fehler „Verbindung verweigert“ zurückgegeben.
  connectionTimeout: Die Anzahl der Millisekunden, die auf ein Timeout gewartet werden soll.
  maxThreads: Legt die maximale Anzahl von Threads fest, die auf dem Port lauschen. Dieser Wert bestimmt auch die maximale Anzahl von Clientanforderungen, auf die der Server gleichzeitig antworten kann. Der Standardwert ist 200.
  Protokoll: muss auf AJP/1.3-Protokoll eingestellt sein.
  Adresse: Wenn der Server mehr als zwei IP-Adressen hat, kann diese Eigenschaft die IP-Adresse festlegen, auf die der Port lauscht. Standardmäßig lauscht der Port auf alle IP-Adressen auf dem Server.
  minProcessors: Die Anzahl der Threads, die erstellt werden, wenn der Server mit der Verarbeitung von Anfragen beginnt. Jede Anfrage wird von einem Thread bearbeitet.
  maxProcessors: Die maximale Anzahl von Threads, die zum Verarbeiten von Anforderungen erstellt werden können.
  minSpareThreads: Mindestanzahl an Ersatz-Threads.
  maxSpareThreads: Maximale Anzahl an Ersatz-Threads.
  Debug: Protokollebene.
  disableUploadTimeout: Deaktiviert das Upload-Timeout, wird hauptsächlich zum Hochladen großer Datenmengen verwendet.
 -->
 <Anschlussport="8080" maxHttpHeaderSize="8192"
    maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
    enableLookups="false" redirectPort="8443" acceptCount="100"
    Verbindungs-Timeout = "20000" Deaktivieren Sie Upload-Timeout = "true" />


 <!-- Verantwortlich für das Herstellen von Verbindungen mit anderen HTTP-Servern. Dieser Connector wird benötigt, wenn Tomcat mit anderen HTTP-Servern integriert wird. -->
 <Anschlussport="8009" 
    enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />


 <!-- 
  Jedes Service-Element kann nur ein Engine-Element haben. Das Element verarbeitet Client-Anfragen, die von allen <Connector>-Elementen im selben <Service> empfangen werden. Attributbeschreibung:
  Name: entspricht Catalina in $CATALINA_HOME/config/Catalina;
  defaultHost: entspricht dem Namensattribut im Host-Element, also localhost in $CATALINA_HOME/config/Catalina/localhost, dem standardmäßigen virtuellen Hostnamen für die Verarbeitung von Anfragen, der denselben Wert hat wie das Namensattribut von mindestens einem der Host-Elemente debug: log level -->
 <Engine-Name="Catalina" Standardhost="localhost">

  <Realm-Klassenname="org.apache.catalina.realm.UserDatabaseRealm"
    resourceName="Benutzerdatenbank"/>
  <!--
  Definiert durch die Host-Schnittstelle. Ein Engine-Element kann mehrere <Host>-Elemente enthalten.
  Jedes <Host>-Element definiert einen virtuellen Host. Es enthält eine oder mehrere Webanwendungen.

  Attributbeschreibung:
   Name: In diesem Beispiel wird es immer als virtueller Hostname des lokalen Hosts in $CATALINA_HOME/config/Catalina/localhost hervorgehoben. Debug: Dies ist die Debugebene des Protokolls. AppBase: Der Standardanwendungspfad, d. h., die Anwendung wird in einem Verzeichnis abgelegt und die Anwendung wird automatisch bereitgestellt, wenn „autoDeploy“ auf „true“ gesetzt ist. Dieser Pfad ist relativ zu $CATALINA_HOME/ (dem Basisverzeichnis von Webanwendungen).
   unpackWARs: Auf „true“ setzen, um die WAR-Datei zu entpacken, wenn die Webanwendung *.war ist. Wenn „true“, entpackt Tomcat die WAR-Datei automatisch. Andernfalls wird die Anwendung nicht direkt aus der WAR-Datei entpackt und ausgeführt.
   autoDeploy: Der Standardwert ist „true“, was bedeutet, dass die Anwendung automatisch geladen wird, wenn eine neue Webanwendung in appBase platziert wird und Tomcat ausgeführt wird.
  <Hostname="localhost" appBase="webapps"
   unpackWARs="true" autoDeploy="true"
   xmlValidation="false" xmlNamespaceAware="false">
  <!-- 
   Attributbeschreibung:
   Pfad: Die Zugriffs-URI, z. B.: http://localhost/ ist das Stammverzeichnis meiner Anwendung, und der Zugriff auf diese Anwendung erfolgt über: http://localhost/demm. Dieses Element ist erforderlich.
    Gibt das URL-Präfix dieser Webanwendung an, das zum Zuordnen eines Kontexts verwendet wird. Die angeforderte URL hat die Form http://localhost:8080/Pfad/*
   docBase: Das Verzeichnis der Webanwendung. Dieses Verzeichnis muss den Java-Webanwendungsspezifikationen, dem Dateispeicherpfad der Webanwendung oder dem WAR-Dateispeicherpfad entsprechen.
   debug: Protokollebene neu ladbar: Gibt an, ob das Programm neu geladen werden soll, wenn es geändert wird. Wenn Sie es auf „true“ setzen, wirkt sich dies auf die Leistung aus, aber die geänderte Datei kann automatisch geladen werden.
    Wenn diese Option auf „true“ gesetzt ist, unterstützt Tomcat Hot Deployment und erkennt automatisch Änderungen in den Verzeichnissen /WEB-INF/lib und /WEB-INF/classes der Webanwendung.
    Automatisches Laden neuer JSPs und Servlets, wir können die Webanwendung ändern, ohne Tomcat neu zu starten
  -->
  <Context path="/demm" docBase="E:\\Projekte\\demm\\WebRoot" debug="0" reloadable="true"></Context>
  </Host>
 </Engine>
 </Dienst>
</Server>

Dies ist das Ende dieses Artikels mit der detaillierten Erklärung der Funktionen jedes Ports von Tomcat. Weitere Informationen zu den Funktionen der Tomcat-Ports finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • So ändern Sie die Tomcat-Portnummer in Linux
  • Detaillierte Erläuterung der Gründe und Lösungen für die von IDEA gestartete Tomcat-Portbelegung (unter Verwendung des Debug-Modus)
  • So ändern Sie die Portkonfiguration im Tomcat-Dienst
  • So ändern Sie die Portnummer von Tomcat 6.x in MyEclipse
  • So ändern Sie die Standard-Portnummer 8080 von Tomcat
  • Tomcat zeigt an, dass Port 8080 belegt ist. Grafische Lösung

<<:  Verwendung des Vuex-Namespace

>>:  Kenntnisse über die MySQL Memory-Speicher-Engine

Artikel empfehlen

Implementierung der mobilen Postcss-pxtorem-Anpassung

Führen Sie den Befehl aus, um das Plugin postcss-...

Der einfachste Weg, MySQL 5.7.20 mit yum in CentOS 7 zu installieren

Die Standarddatenbank von CentOS7 ist MariaDB, ab...

Lösen Sie das Problem des Startfehlers von PHPStudy MySQL unter Windows

Einen Fehler melden Der Apache\Nginx-Dienst wurde...

So verwenden Sie „not in“ zur Optimierung von MySql

Als ich kürzlich in einem Projekt eine Auswahlabf...

Webdesign-Tipps für Formular-Eingabefelder

Dieser Artikel listet einige Tipps und Codes zu F...

WeChat-Applet implementiert Puzzlespiel

In diesem Artikel finden Sie den spezifischen Cod...

Dieser Artikel hilft Ihnen, JavaScript-Variablen und -Datentypen zu verstehen

Inhaltsverzeichnis Vorwort: Freundliche Tipps: Va...

HTML-Versionsdeklaration DOCTYPE-Tag

Wenn wir den Quellcode einer normalen Website öff...

Vollständige Analyse der Webseitenelemente

Relative Längeneinheiten em Beschreibung: Relative...

Detaillierte Erklärung der Tastaturereignisse von Vue

Inhaltsverzeichnis Allgemeine Schlüsselaliase Sch...