Connector-Konfiguration in Tomcat

Connector-Konfiguration in Tomcat

JBoss verwendet Tomcat als Webcontainer. Die Konfiguration des Webcontainers in JBoss ähnelt daher der in Tomcat und umfasst hauptsächlich das Bearbeiten der Datei server.xml. In JBoss 5.x befindet sich diese Datei in ${JBOSS.HOME}\server\${confifure}\deploy\jbossweb.sar , wobei der Wert von configure all, default, web, standard, minimal usw. sein kann. Der folgende Code zeigt eine server.xml-Datei unter der JBoss-Standardkonfiguration. Aus Platzgründen wurden die Kommentare entfernt.

<Server> 
  <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" /> 
  <Listener-Klassenname="org.apache.catalina.core.JasperListener" /> 
  <Dienstname="jboss.web"> 
   <Connector-Protokoll="HTTP/1.1" Port="8080" Adresse="${jboss.bind.address}"  
        VerbindungsTimeout="20000" UmleitungsPort="8443" Komprimierung="ein"  
        KomprimierungMinSize="1" komprimierbarerMimeType="text/html,text/xml" /> 
   <Engine-Name="jboss.web" Standardhost="localhost"> 
     <Realm-Klassenname="org.jboss.web.tomcat.security.JBossWebRealm" 
      certificatePrincipal="org.jboss.security.auth.certs.SubjectDNMapping" 
      allRolesMode="Nur Auth" 
      /> 
     <Hostname="localhost">  
      <Valve-Klassenname="org.jboss.web.tomcat.service.jca.CachedConnectionValve" 
      cachedConnectionManagerObjectName="jboss.jca:service=CachedConnectionManager" 
      transactionManagerObjectName="jboss:service=TransactionManager" /> 
     Gastgeber> 
   Motor> 
  Service > 
Server>

In der obigen Konfigurationsdatei ist Server der Stammknoten. Ein Server stellt einen Servlet-Container dar. Daher kann es in server.xml nur einen solchen Knoten geben. Unter dem Serverknoten können sich ein oder mehrere Serviceknoten befinden.

Ein Serviceknoten stellt einen oder mehrere Konnektoren und eine Engine dar, und Konnektor und Engine sind zwei wichtige Konfigurationselemente in server.xml. Die Hauptfunktion des Konnektors besteht darin, Benutzeranforderungen anzunehmen und darauf zu reagieren. Zu den häufig verwendeten Konnektoren gehören der HTTP/1.1-Konnektor und der AJP-Konnektor. Der HTTP/1.1-Konnektor wird hauptsächlich zur Verarbeitung von HTTP-Anfragen von Benutzern verwendet. Es ist zu beachten, dass er, obwohl er HTTP/1.1-Konnektor heißt, vollständig mit dem HTTP/1.0-Protokoll kompatibel ist. AJP Connector verwendet hauptsächlich das AJP-Protokoll zur Kommunikation mit Web Connector und wird normalerweise in einem Cluster verwendet.

Die HTTP/1.1-Connector-Instanz lauscht auf dem vom Benutzer konfigurierten Port. Wenn der Anwendungsserver gestartet wird, ist der HTTP/1.1-Connector dafür verantwortlich, mehrere Threads zum Verarbeiten von Benutzeranforderungen zu erstellen. Die Anzahl der erstellten Threads hängt vom vom Benutzer konfigurierten minThreads-Wert ab, der standardmäßig auf 5 eingestellt ist. Wenn mehr Benutzeranforderungen eingehen, erstellt der HTTP/1.1-Connector weitere Threads zum Verarbeiten der Anforderungen. Die maximale Anzahl der erstellten Threads wird durch maxThreads definiert und der Standardwert ist 20. Wenn alle Threads mit der Verarbeitung von Benutzeranforderungen beschäftigt sind, werden neue eingehende Anforderungen in die vom HTTP/1.1-Connector erstellte Socket-Warteschlange gestellt. Die Länge der Warteschlange wird durch das Attribut acceptCount definiert. Wenn die Warteschlange ebenfalls voll ist, erhalten neue Benutzeranforderungen einen Verbindungsabweisungsfehler.

Alle vom Connector bereitgestellten Konfigurationselemente (unvollständiges Schema, isSecure, xpoweredBy, useIPVHosts):

  • allowTrace Wenn der Server in der Lage sein muss, HAED/TRACE-Anfragen von Benutzern zu verarbeiten, sollte dieser Wert auf „true“ gesetzt werden. Der Standardwert ist „false“.
  • emptySessionPath Wenn auf true gesetzt, wird der Pfad aller Sitzungen und Cookies auf / gesetzt. Diese Einstellung ist normalerweise in Portlets nützlich. Der Standardwert ist false;
  • enableLookups Wenn Sie beim Aufrufen der Methode request.getRemoteHost() den Computernamen des Clients abrufen müssen, müssen Sie es auf true konfigurieren. Wenn es auf false konfiguriert ist, wird die DNS-Abfrage übersprungen und die IP-Adresse des Client-Computers direkt zurückgegeben. Normalerweise wird dieser Wert auf false gesetzt, um die Leistung zu verbessern. Der Standardwert ist true;
  • maxPostSize Die maximale Datengröße, die mit der POST-Methode übermittelt werden kann. Wenn nicht deklariert oder auf kleiner oder gleich 0 gesetzt, bedeutet dies, dass die Größe der per POST übermittelten Daten unbegrenzt ist. Der Standardwert ist 2 Megabyte.
  • Protokoll legt das Protokoll für die Verarbeitung von Anfragen fest. Der Standardwert ist HTTP/1.1, d. h. org.apache.coyote.http11.Http11Protocol. Weitere unterstützte Protokolle sind: org.apache.coyote.http11.Http11NioProtocol (die Verarbeitung von Benutzeranfragen über NIO kann die Systemleistung verbessern) und org.apache.coyote.http11.HttpAprProtocol.
  • ProxyName/ProxyPort: Wenn der Webserver einen Proxyserver verwendet, bedeutet die Konfiguration dieses Parameters, dass beim Aufruf von request.getServerName der Name des Proxyservers abgerufen wird und getServerPort() ProxyPort zurückgibt.
  • redirectPort: Wenn der Connector so konfiguriert ist, dass er Nicht-SSL-Anfragen unterstützt, leitet der Server bei eingehenden SSL-Anfragen die Anfrage automatisch an redirectPort um.
  • URIEncoding Die Kodierungsmethode, mit der URI-Bytes in Strings konvertiert werden. Der Standardwert ist ISO-8859-1. Wenn die Seite Chinesisch unterstützen muss, kann sie im Allgemeinen auf UTF-8 oder GBK, GB2312 eingestellt werden.
  • useBodyEncodingForURI Wenn auf „true“ gesetzt, wird die URI-Kodierungsmethode basierend auf der Seitenkodierung bestimmt. Der Standardwert ist „false“.

Vom HTTP/1.1-Connector bereitgestellte Konfigurationselemente:

  • acceptCount Die Länge der Warteschlange. Der Standardwert ist 100.
  • Adresse: Wenn der Host, auf dem sich Tomcat befindet, über mehrere IPs verfügt, gibt dieser Wert die IP-Adresse an, die zum Abhören von HTTP-Anfragen verwendet wird.
  • bufferSize Die Größe des vom Connector erstellten Eingabestreams. Der Standardwert beträgt 2048 Bytes. Eine Erhöhung dieses Werts kann die Leistung verbessern und den Speicherverbrauch erhöhen.
  • compressableMimeType verwendet HTTP-komprimierte MIME-Typen, getrennt durch Kommas. Die Standardwerte sind text/html, text/xml, text/plain.
  • Komprimierung: Um Bandbreite zu sparen, können Sie diesen Wert auf „Ein“ setzen, um die HTTP/1.1 GZIP-Komprimierung zu aktivieren. Aus schaltet die Komprimierung aus, erzwingt die Komprimierung, der Standardwert ist „Aus“.
  • connectionTimeout Die Zeit (Millisekunden), die der Connector nach dem Akzeptieren einer Verbindung wartet. Der Standardwert ist 60000.
  • Executor Unter dem Service-Knoten kann vor dem Connector-Knoten ein Executor-Knoten zur Verwaltung von Threads konfiguriert werden. Der Wert dieser Eigenschaft ist der Name des konfigurierten Executors. Wenn diese Eigenschaft angewendet wird und der Executor vorhanden ist, wird jede andere Konfiguration bezüglich Threads ignoriert.
  • keepAliveTimeout Die Anzahl der Mikrosekunden, die der Connector auf eine weitere Keep-Alive-Anforderung wartet, bevor die Verbindung geschlossen wird. Der Standardwert ist derselbe wie connectionTimeout.
  • maxHttpHeaderSize Die maximale Größe der Header-Informationen für HTTP-Anforderungen und -Antworten. Der Standardwert beträgt 8192 Byte.
  • maxKeepAliveRequests Die maximale Anzahl von Anfragen für HTTP/1.0 Keep Alive und HTTP/1.1 Keep Alive / Pipeline. Wenn der Wert auf 1 gesetzt ist, werden Keep Alive und Pipeline deaktiviert. Wenn der Wert auf eine Zahl kleiner als 0 gesetzt ist, gibt es keine Begrenzung für die maximale Anzahl von Keep Alive-Anfragen. Der Standardwert ist 100.
  • maxThreads Die maximale Anzahl von Threads, die zur Verarbeitung von Benutzeranforderungen verwendet werden. Der Standardwert ist 20.
  • noCompressionUserAgents: Legt die Clients fest, die keine HTTP-GZIP-Komprimierung verwenden, getrennt durch Kommas. Dieses Attribut kann verwendet werden, wenn einige Browser keine Komprimierung unterstützen.
  • Port: Der Port, auf dem der Connector lauscht.
  • restrictedUserAgents legt die Client-Agent-Namen fest, die Keep Alive nicht verwenden, getrennt durch Kommas. Der Standardwert ist eine leere Zeichenfolge.
  • Server überschreibt den Serve-Header der HTTP-Antwort. Wenn nicht festgelegt, ist der Standardwert Apache-Coyote/1.1. Im Normalfall müssen Sie auf diese Eigenschaft nicht achten.
  • socketBuffer Die Größe des Socket-Ausgabestreampuffers. Der Standardwert beträgt 9000 Byte. Wenn der Wert kleiner als 0 ist, bedeutet dies, dass dieser Puffer nicht verwendet wird.
  • Der Standardwert von tcpNoDelay ist true. Wenn Sie den Wert auf true setzen, kann dies die Systemleistung verbessern.
  • threadPriority Die Priorität des Anforderungsverarbeitungsthreads. Die Standardpriorität ist NORMAL.

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:
  • Analyse und Lösung des abnormalen Problems beim Laden von JAR in Tomcat
  • Detailliertes Verständnis und vergleichende Analyse der Server Apache, Tomcat und Nginx
  • Erläuterung verschiedener Möglichkeiten zum Ausführen von Tomcat unter Linux
  • So richten Sie virtuelle Verzeichnisse ein und konfigurieren virtuelle Pfade in Tomcat 7.0
  • Erklärung zur Verwendung von Tomcat mit IDEA Remote Debug
  • Tomcat verwendet Log4j zur Ausgabe des catalina.out-Protokolls
  • Erläuterung zur Verwendung und Änderung des Standard-Programmveröffentlichungspfads von Tomcat
  • Detaillierte Schritte zum Importieren von Eclipse-Projekten in IDEA und zum Bereitstellen in Tomcat
  • Detaillierte Erläuterung zur Lösung des Konflikts von Projekt-URLs, der durch das Festlegen des Standardpfads von Tomcat verursacht wird
  • Lösung für den Fall, dass der Tomcat-Server tomcat7w.exe nicht öffnen kann

<<:  Lösung für den Fehler beim Starten von MySQL

>>:  Detaillierte Erklärung der CocosCreator-Optimierung DrawCall

Artikel empfehlen

JavaScript implementiert die asynchrone Übermittlung von Formulardaten

In diesem Artikelbeispiel wird der spezifische Ja...

Detailliertes Tutorial zum Ersetzen von mysql8.0.17 in Windows 10

In diesem Artikel werden die spezifischen Schritt...

Vue implementiert die Bottom-Query-Funktion

In diesem Artikelbeispiel wird der spezifische Co...

Häufig verwendete HTML-Meta-Enzyklopädie (empfohlen)

Der Meta-Tag ist ein Hilfstag im Head-Bereich der...

So verwenden Sie Yum zum Konfigurieren der lnmp-Umgebung im CentOS7.6-System

1. Details zur Installationsversion Server: Maria...

Django-Online-Bereitstellungsmethode von Apache

Umfeld: 1. Windows Server 2016 Datacenter 64-Bit ...

CSS3 erzielt einen coolen Karusselleffekt mit geschnittenen Bildern

Heute lernen wir, wie man mit CSS eine coole Bild...

Häufige Tomcat-Ausnahmen und Lösungscodebeispiele

Das Unternehmensprojekt wurde in Java entwickelt ...

MySQL-Fall bei der Verwendungsbeispielanalyse

Zuerst erstellen wir die Datenbanktabelle: Tabell...

So sperren Sie eine virtuelle Konsolensitzung unter Linux

Wenn Sie an einem gemeinsam genutzten System arbe...

jQuery implementiert die Drop-Down-Box zur Auswahl des Wohnortes

Der spezifische Code für die Verwendung von jQuer...