Aktuelle Version: 3.0.4-1
Auf einen Blick |
|
Katalog |
System |
Kategorie |
Anwendungsserver |
Benutzer-Volumes |
ja |
Min. Speicher |
160 MB |
Betriebssystem |
Linux |
Einschränkungen |
no |
Fragen/Kommentare |
TOMCAT ist eine Webserver-Appliance, die auf dem Sun Java-Rechner und Apache Tomcat basiert, ein Java-Servlet und JavaServer Pages-Container, der unter der Apache-Lizenz entwickelt wurde. Die Hauptdokumentation für Tomcat finden Sie unter tomcat.apache.org. Tomcat bietet normgerechten Support für Servlets und JSPs. Tomcat kann als eigenständiger Webserver oder Anwendungsserver funktionieren.
TOMCAT verarbeitet statischen Webinhalt, setzt Webanwendungen automatisch ein und führt Servlets und JavaServer Pages von einem benutzerkonfigurierbaren Inhalts-Volume aus. Die Pfade zu den Dokumenten sind konfigurierbar, sodass das gleiche Volume mit mehreren Webservern und anderen Appliances, die Inhalt bereitstellen, gemeinsam genutzt werden kann.
TOMCAT verarbeitet HTTP/1.1- und HTTP/1.0-Protokolle für Web-Clients und AJP 1.3 für Anfragen von Frontend-Servern (Bsp.: Apache mit mod_proxy_ajp).
Wie WEBx-Server hat TOMCAT drei generische Ausgabe-Terminals, die für den Zugriff auf externe Dienste von Skripten auf dem Inhalts-Volume dienen. Das Terminal "db" wird für den Zugriff auf verschiedene Datenbanken verwendet; das Terminal "fs" wird dafür verwendet, auf freigegebenen Dateispeicher zuzugreifen (mithilfe von NFS); das Terminal "aux" dient zum Senden von E-Mail-Nachrichten an einen SMTP-Server.
Das Protokoll-Terminal sollte verwendet werden, um TOMCAT mit einem gemeinsam genutzten Dateisystem zu verbinden, in dem TOMCAT Protokolldateien speichern kann.
Die Konfiguration des Servers wird mithilfe verschiedener Eigenschaften definiert. Diese Eigenschaften sind so konzipiert, dass sie die häufigsten Verwendungen auf leicht konfigurierbare Weise abdecken. In den meisten Fällen müssen nur wenige Eigenschaften auf vom Standard abweichende Werte eingestellt werden.
Name |
Aktuelle Version |
Betriebssystem |
Java-Rechner-Version |
Apache Tomcat-Version |
TOMCAT |
3.0.3-1 |
CentOS 6.3 |
JDK 1.6.0.22 |
6.0.29 |
TOMCAT64 |
3.0.3-1 |
CentOS 6.3 (64 bit) |
JDK 1.6.0.22 |
6.0.29 |
Ressourcen für TOMCAT
Ressource |
Minimum |
Maximum |
Standard |
CPU |
0.1 |
16 |
0.3 |
Speicher |
160 MB |
4 G |
512 MB |
Bandbreite |
1 Mbit/s |
2 Gbit/s |
250 Mbit/s |
Ressourcen für TOMCAT64
Ressource |
Minimum |
Maximum |
Standard |
CPU |
0.1 |
16 |
0.3 |
Speicher |
192 MB |
64 G |
512 MB |
Bandbreite |
1 Mbit/s |
2 Gbit/s |
250 Mbit/s |
Hinweis:
Wichtig! TOMCAT besitzt Beschränkungen, die vom 32-Bit-Java-Rechner stammen. Dieser Java-Rechner kann nicht mit mehr als ungefähr 2,6 GB Arbeitsspeicher arbeiten, und es ist ineffizient für TOMCAT mehr als 2,8 GB Speicher zu reservieren.
Außer Speicher für Java-Anwendungen muss eine gewisse Speichermenge zum Speichern der Anwendungssitzungen zur Verfügung stehen. Jede leere Sitzung (ohne zusätzlich gespeicherte Daten) verwendet nahezu 2 Kilobyte Speicher. Dieser Speicher wird während der Sitzungsdauer verwendet (die Standardsitzungsdauer beträgt 30 Minuten). Sie können die Sitzungsdauer konfigurieren, indem Sie einen zusätzlichen Abschnitt bearbeiten oder der Konfigurationsdatei web.xml einer Anwendung hinzufügen. Wenn Sie beispielsweise den unten stehenden Code einfügen, wird die Sitzungsdauer so konfiguriert, dass sie 1 Minute beträgt:
<session-config> <session-timeout>1</session-timeout> </session-config>
Wenn in 30 Minuten zehntausend einzelne Besucher erwartet werden, sind zusätzliche 20 MB freier Speicher erforderlich. Im Allgemeinen gilt: Erforderliche Speichermenge = Maximale Anzahl gleichzeitiger aktiver Sitzungen * durchschnittliche Sitzungsgröße.
Wichtig! Wenn nicht genug Speicher verfügbar ist, kann bei Tomcat ein Fehler auftreten. Dies hängt von den Benutzeranwendungen ab, die in Tomcat ausgeführt werden, und ist keine Beschränkung der Appliance selbst.
Volume |
Description |
content |
Volume zum Speichern von Tomcat-Anwendungen, Anwendungsdaten, temporärer Dateien und Arbeitsdateien. Dieses Volume wird nur verwendet, wenn die Eigenschaft content_on_fs auf "off" festgelegt wurde. |
Eigenschaftsname |
Typ |
Description |
content_on_fs |
Zeichenfolge |
Gibt an, ob der Inhalt bezogen auf das Dateisystem am fs-Terminal angegeben wird oder sich auf dem Inhalt-Volume befindet. Standard: off (auf dem Inhalt-Volume) |
hostname |
Zeichenfolge |
Hostname der Website. Standard: localhost |
tomcat_port |
Ganzzahl |
Port, den Tomcat auf eingehende HTTP-Anfragen überwacht. Standard: 8080 |
session_timeout |
Ganzzahl |
Zeitlimit für die Benutzersitzung in Minuten, während dem TOMCAT alle Daten aufbewahrt, die mit der Benutzersitzung verknüpft sind. Standard: 30 |
max_connections |
Ganzzahl |
Maximale Anzahl zulässiger gleichzeitiger Verbindungen. Wenn diese Zahl erreicht wird, werden neue Verbindungen noch akzeptiert, aber ihre Verarbeitung wird aufgeschoben, bis eine andere Verbindung geschlossen wird. Standard: 100 |
heap_size |
Ganzzahl |
Speicher, der Java-Heap (die -Xmx-Java-Option) zugewiesen ist, in Megabyte. Wenn 0, wird dieser Wert automatisch berechnet. Standard: 0 |
perm_size |
Ganzzahl |
Speicher, der permanenten Java-Objekten (die -XX:PermSize-Java-Option) zugewiesen ist, in Megabyte. Wenn 0, wird dieser Wert automatisch berechnet. Standard: 0 |
app_base |
Zeichenfolge |
Stammverzeichnis für die Dokumente, Arbeitsdateien und temporären Dateien. Eine typische Struktur des Verzeichnisses ${catalina.base} von Tomcat wird in diesem Ordner erstellt: freigegeben für Bibliotheken, die von allen Java-Anwendungen gemeinsam verwendet werden; "temp" und "work" für temporäre Dateien und Arbeitsdateien; und ein Unterverzeichnis, das durch die Eigenschaft work_dir definert ist - analog zu ${catalina.base}/webapps. Standard: leer |
work_dir |
Zeichenfolge |
Verzeichnis, in dem Dokumente gespeichert sind, die bereitgestellt werden. Wird auch für die automatische Bereitstellung verwendet. Weitere Informationen sind auf der Tomcat-Website verfügbar - Automatische Anwendungsbereitstellung. Standard: webapps |
timezone |
Zeichenfolge |
Gibt die in der Appliance verwendete Zeitzone an. Wenn diese Eigenschaft leer ist, wird die Zeitzone nicht geändert, sondern im Ist-Zustand beibehalten. Hier ist eine Liste der unterstützten Zeitzonen verfügbar. Standard: leer |
Name |
Richtung |
Protokoll |
Description |
in |
in |
HTTP |
Verarbeitet HTTP-Anfragen von Web-Clients. Unterstützt die Protokolle HTTP/1.1, HTTP/1.0 und AJP. |
db |
out |
Alle |
Zugriff auf einen Datenbankserver. Die Syntax hängt davon ab, welche Skripten sich im Inhalt-Volume befinden (sofern vorhanden). Dieses Terminal kann ohne Verbindung bleiben, wenn es nicht verwendet wird. |
fs |
out |
NFS |
Zugriff auf ein Netzwerkdateisystem für freigegebene Dateispeicherung, wobei Lese-/Schreibzugriff auf die Dateien über NFS bereitgestellt wird. Die Syntax hängt davon ab, welche Skripten sich im Inhalt-Volume befinden (sofern vorhanden). Software auf dem Inhalt-Volume "sieht" das geladene entfernte Dateisystem als /mnt/fs im filesystem-Bereich der Appliance. Dieses Terminal kann ohne Verbindung bleiben, wenn es nicht verwendet wird. Der verbundene Server muss eine über NFS exportierte Freigabe namens /mnt/data mit Lese/Schreibzugriff besitzen. |
log |
out |
CIFS |
Zugriff auf ein CIFS-basiertes Netzwerkdateisystem zum Speichern von Zugriffs- und Fehlerprotokollen. Dieses Terminal kann ohne Verbindung bleiben, wenn es nicht verwendet wird. Der verbundene Server muss anonyme Anmeldungen zulassen und über eine exportierte Freigabe namens share mit Lese-/Schreibzugriff verfügen. |
aux |
out |
Alle |
Zugriff auf einen SMTP-Server zum Senden von ausgehender E-Mail. |
net |
out |
Alle |
Gateway-Ausgabe für Subnetzzugriff. |
mon |
out |
CCE |
Sendet statistische Daten zur Leistung und Ressourcennutzung an die MON-Appliance. |
Die Standardschnittstelle. Sie ist für Diagnostik und Fehlersuche vorgesehen (über SSH). Künftige Versionen dieser Appliance können den SSH-Zugriff möglicherweise deaktivieren.
Eigenschaftsname |
Typ |
Description |
logs_enabled |
Zeichenfolge |
Aktiviert oder deaktiviert die gesamte Protokollierung. Standard: no |
logs_base_dir |
Zeichenfolge |
Verzeichnis, in dem Protokolldateien gespeichert werden. Standard: leer, Protokolle werden im Stamm des geladenen NAS-Volumes platziert. |
error_log_filename |
Zeichenfolge |
Präfix für Dateiname für das Fehlerprotokoll. Standard: catalina |
log_level |
Zeichenfolge |
Protokollierungsebene. Die Werte sind (steigender Ausführlichkeitsgrad): - SEVERE, WARNING, INFO, CONFIG, FINE, FINER, FINEST, ALL. Eine detailliertere Beschreibung der Protokollebenen ist in der Tomcat-Dokumentation verfügbar. Standard: INFO |
enable_access_log |
Zeichenfolge |
Aktiviert oder deaktiviert das Zugriffsprotokoll. Standard: no |
access_log_filename |
Zeichenfolge |
Präfix für Dateiname für das Zugriffsprotokoll. Standard: access.log |
Die TOMCAT-Appliance meldet die folgenden benutzerdefinierten Zähler über das Terminal "mon". Diese Zähler gehören zur TOMCAT-Zählergruppe (TOMCAT64 im Fall von TOMCAT64):
Zählername |
Description |
Classes loaded |
Anzahl der geladenen Klassen |
Classes loaded bytes |
Anzahl der geladenen Kilobyte |
Classes unloaded |
Anzahl der entladenen Klassen |
Classes unloaded bytes |
Anzahl der entladenen Kilobyte |
Classes load/unload execution time |
Zeit, die zum Durchführen der Lade- und Entlade-Vorgänge für Klassen aufgewendet wurde |
Compiler compiled |
Anzahl der durchgeführten Kompilierungsaufgaben |
Compiler failed |
Anzahl der fehlgeschlagenen Kompilierungsaufgaben |
Compiler invalid |
Anzahl der ungültig erklärten Kompilierungsaufgaben |
Compiler execution time |
Zeit, die für die Durchführung der Kompilierungsaufgaben aufgewendet wurde |
Heap s0 space capacity |
Aktuelle Survivor Space 0-Kapazität |
Heap s1 space capacity |
Aktuelle Survivor Space 1-Kapazität |
Heap s0 space utilization |
Survivor Space 0-Auslastung |
Heap s1 space utilization |
Survivor Space 1-Auslastung |
Heap eden space capacity |
Aktuelle Heap-Eden-Space-Kapazität |
Heap eden space utilization |
Eden-Space-Auslastung |
Heap old space capacity |
Aktuelle alte Speicherplatzkapazität |
Heap old space utilization |
Alte Speicherplatzauslastung |
Heap permanent space capacity |
Aktuelle permanente Speicherplatzkapazität |
Heap permanent space utilization |
Permanente Speicherplatzauslastung |
Heap young generation GC events |
Anzahl der GC-Ereignissen der jungen Generation (GC - Garbage Collection) |
Heap young generation GC time |
Garbage Collection-Zeit der jungen Generation |
Heap number of GC events |
Anzahl vollständiger GC-Ereignisse |
Heap full GC time |
Vollständige Garbage-Collection-Zeit |
Heap total GC time |
Garbage-Collection-Zeit insgesamt |
Pool current new generation |
Aktuelle Kapazität neue Generation |
Pool min new generation |
Minimale Kapazität der neue Generation |
Pool max new generation |
Maximale Kapazität neue Generation |
Pool current old generation |
Aktuelle Kapazität alte Generation |
Pool min old generation |
Minimale Kapazität alte Generation |
Pool max old generation |
Maximale Kapazität alte Generation |
Pool current permanent generation |
Aktuelle Kapazität permanente Generation |
Pool min permanent generation |
Minimale Kapazität permanente Generation |
Pool max permanent generation |
Maximale Kapazität permanente Generation |
New generation tenuring threshold |
Tenuring-Schwellenwert |
New generation max tenuring threshold |
Maximaler Tenuring-Schwellenwert |
Gewünschte Survivor-Größe |
Gewünschte Survivor-Größe |
Compiler tasks |
Anzahl der durchgeführten Kompilierungsaufgaben |
Wenn eine Appliance nicht gestartet werden kann, können die folgenden Fehler im Systemprotokoll vermerkt werden:
Fehlermeldung |
Description |
FEHLER: Protokolle sind aktiviert, aber Protokoll-Terminal ist nicht verbunden. |
Protokollterminal ist nicht angeschlossen, aber für "logs_enabled" oder "enable_access_log" ist "yes" festgelegt. |
FEHLER: Eigenschaft content_on_fs ist "off", aber das lokale Inhalt-Volume fehlt. |
Die Eigenschaft "content_on_fs" ist auf "off" festgelegt, d. h., dass das Daten-Volume lokal geladen werden muss, TOMCAT kann aber kein Inhalts-Volume laden. Die wahrscheinlichste Ursache ist, dass das Inhalts-Volume nicht formatiert oder in den TOMCAT-Eigenschaften nicht definiert ist. |
FEHLER: Nfs-Freigabe konnte nicht bereitgestellt werden. |
TOMCAT kann nfs-Freigabe nicht laden. Die wahrscheinliche Ursache ist, dass fs nicht angeschlossen ist oder TOMCAT vor NAS gestartet wurde (bzw. die Appliance, die mit dem fs-Terminal verbunden ist). |
Meldung |
Description |
Datenspeicher hat weniger als 5 % freien Festplattenspeicher |
Das Daten-Volume, auf das vom Terminal "fs" zugegriffen wird, hat weniger als 5 % freien Festplattenspeicher. Es wird empfohlen, die Größe des Volumes zu vergrößern. |
Datenspeicher hat weniger als 1 % freien Festplattenspeicher |
Das Daten-Volume, auf das vom Terminal "fs" zugegriffen wird, hat weniger als 1 % freien Festplattenspeicher. Ein sofortiger Benutzereingriff ist erforderlich; möglicher Datenverlust kann auftreten. |
Inhalts-Volume hat weniger als 5 % freien Festplattenspeicher |
Das Inhalts-Volume auf der Appliance hat weniger als 5 % freien Festplattenspeicher. Es wird empfohlen, die Größe des Volumes zu vergrößern. |
Inhalts-Volume hat weniger als 1 % freien Festplattenspeicher |
Das Inhalts-Volume auf der Appliance hat weniger als 1 % freien Festplattenspeicher. Ein sofortiger Benutzereingriff ist erforderlich; möglicher Datenverlust kann auftreten. |
Die TOMCAT-Leistung kann beeinflusst werden, wenn die Protokollierung aktiviert ist (Fehlerprotokollierung aktiviert durch logs_enabled = yes oder Zugriffsprotokollierung - enable_access_log = yes). Die Tabelle unten enthält Benchmarkergebnisse (in rps - requests per second; Anfragen pro Sekunde); ausgeführt, wenn Protokolle mit dem Apache-Benchmark-Hilfsprogramm deaktiviert werden, das mit Apache-Webserver Version 2.0 und 2.2 geliefert wird. Weitere Informationen zu "ab" sind auf der Apache-Website verfügbar. Folgende Einstellungen wurden für das Benchmarking verwendet: "bw=500M mem=2G cpu=2".
Gleichzeitigkeit |
rps |
1 Client-Gleichzeitigkeit |
2800-3200 rps |
10 Client-Gleichzeitigkeit |
7500-7900 rps |
100 Client-Gleichzeitigkeit |
7700-8100 rps |
Einfache Website mit Java-Unterstützung
TOMCAT bedient Anwendungen vom Inhalts-Volume.
Verwendete Appliances:
Eigenschaftsname |
Wert |
Hinweise |
hostname |
www.mysite.org |
Hostname der Site. |
app_base |
MyApp |
|
content_on_fs |
off |
TOMCAT verwendet den Inhalt von Benutzer-Volumes für alle Inhalte. |
timezone |
EST |
EST-Zeitzone. |
tomcat_port |
80 |
Standardport für das HTTP-Protokoll. |
Clientanfragen treffen auf dem IN-Gateway ein. Das Gateway leitet die Anfragen an den Tomcat-Server weiter, der die Anfrage verarbeitet.
Zwei-Ebenen-Anwendung mit Datenbank, Protokoll und Überwachung
Verwendete Appliances:
Beispiel-Eigenschaftskonfiguration:
Eigenschaftsname |
Wert |
Hinweise |
hostname |
www.mysite.org |
Hostname der Site |
app_base |
MyApp |
|
content_on_fs |
on |
TOMCAT verwendet Remote-Speicher über den fs-Terminal für den gesamten Inhalt. |
timezone |
EST |
EST-Zeitzone |
tomcat_port |
80 |
Standardport für das HTTP-Protokoll. |
max_connections |
200 |
Höchstens 200 gleichzeitige Benutzer |
logs_enabled |
ja |
Aktiviert Fehlerprotokolle |
logs_base_dir |
MyApp_Log_Dir |
|
log_level |
INFO |
|
error_log_filename |
error_log |
Fehlerprotokollname |
enable_access_log |
ja |
Aktiviert Zugriffsprotokoll |
access_log_filename |
myapp_access |
Zugriffsprotokollname |
Clientanfragen kommen am IN-Gateway an. Das Gateway leitet die Anfragen an den Tomcat-Server weiter, der die Anfrage verarbeitet. Inhalt und Protokolle befinden sich auf der storage-Appliance. Indikatoren werden an die mon-Appliance ausgegeben
Hinweis: Java-Anwendungen können viele Typen von Datenbanken verwenden. Es hängt nur davon ab, ob der entsprechende JDBC-Treiber in der Anwendung vorhanden ist. Mit TOMCAT kann jede beliebige Datenbank-Appliance an das zugehörige db-Terminal angeschlossen werden.
WEB6 als Fronend für TOMCAT
Das folgende Diagramm zeigt die Verwendung der TOMCAT-Appliance als Anwendungsserver und WEB6 als Frontend. WEB6 verarbeitet statischen Inhalt und leitet alle Anfragen, die eine serverseitige Verarbeitung erfordern, mithilfe eines AJP-Protokolls an den TOMCAT weiter.
Hinweis: Für diesen Modus muss AJP-Support in WEB6 aktiviert werden mod_proxy und mod_proxy_ajp aktivieren).
Verwendete Appliances:
Beispiel-Eigenschaftskonfiguration:
Eigenschaftsname |
Wert |
Hinweise |
content_on_fs |
off |
TOMCAT verwendet den Inhalt von Benutzer-Volumes für alle Inhalte, |
timezone |
EST |
EST-Zeitzone |
Andere Einstellungen haben eigene Standardwerte.
WEB6 muss richtig konfiguriert werden, um als Frontend zu funktionieren und über ein AJP-Protokoll mit TOMCAT zu kommunizieren zu können.
mod_proxy und mod_proxy_ajp müssen aktiviert werden, indem die folgenden Zeilen in die Apache-Konfiguration eingefügt werden:^
LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
Einige Pfade des URL-Bereichs müssen für die Bereitstellung durch TOMCAT angegeben werden, z. B.
ProxyPass /path-that-served-by-tomcat ajp://aux:8009/some-servlet ProxyPassReverse /path-that-served-by-tomcat ajp://aux:8009/some-servlet
Zum Beispiel:
Pfad |
content |
bereitgestellt von |
/index.html |
statisches HTML-Dokument |
bereitgestellt von WEB6 |
/images/* |
statische grafische Dateien |
bereitgestellt von WEB6 |
/scripts/*.php |
von PHP-Skripten generierter dynamischer Inhalt |
bereitgestellt von WEB6 |
/path-that-served-by-tomcat |
vin JSP generierter dynamischer Inhalt |
bereitgestellt von TOMCAT |
Clientanfragen kommen am IN-Gateway an. Das Gateway leitet die Anfragen an den Frontend-Webserver weiter, der Anfragen für statische HTML-Seiten, grafischen Dateien und PHP-Skripten bereitstellt. Anfragen für JSP-Seiten oder Servlet-Seiten werden an AppServer weitergeleitet und von diesem bereitgestellt.
Skalierbare Website mit Java-Unterstützung
Verwendete Appliances:
Beispiel-Eigenschaftskonfiguration sowohl für AppServer1 als auch für AppServer2:
Eigenschaftsname |
Wert |
Hinweise |
content_on_fs |
off |
TOMCAT verwendet den Inhalt von Benutzer-Volumes für alle Inhalte, |
timezone |
EST |
EST-Zeitzone |
Andere Einstellungen haben eigene Standardwerte.
Clientanfragen kommen am IN-Gateway an. Das Gateway leitet die Anfragen an das Lastenausgleichsmodul lb weiter, das die Anfragen an einen der Server AppServer1 und AppServer2 sendet.
TOMCAT und TOMCAT64 verwenden zusätzlich zu den Drittanbieter-/Open-Source-Paketen der jeweiligen Basisklassen LUX6 und LUX64 die folgenden Drittanbieter-/Open-Source-Pakete.
TOMCAT
Software |
Version |
Geändert |
Lizenz |
Hinweise |
Apache Tomcat |
6.0.29 |
Ja |
Apache-Lizenz v2.0 |
homepage |
JDK |
1.6.0.22 |
Nein |
Sun-BCL |
verfügbar auf der Sun-Website |
samba-client |
3.5.10-125.el6 |
Nein |
GPLv2 |
N/A |
samba-common |
3.5.10-125.el6 |
Nein |
GPLv2 |
N/A |
TOMCAT64
Software |
Version |
Geändert |
Lizenz |
Hinweise |
Apache Tomcat |
6.0.29 |
Ja |
Apache-Lizenz v2.0 |
homepage |
JDK |
1.6.0.22 |
Nein |
Sun-BCL |
verfügbar auf der Sun-Website |
samba-client |
3.5.10-125.el6 |
Nein |
GPLv2 |
N/A |
samba-common |
3.5.10-125.el6 |
Nein |
GPLv2 |
N/A |
Copyright © 2013 CA.
Alle Rechte vorbehalten.
|
|