KAMI911.tomcat
Ansible-Rolle: Installiert den Apache Tomcat Java-Anwendungsserver (optional mit Hugepages)
Diese Rolle installiert den Apache Tomcat Java-Anwendungsserver. Es handelt sich um die vollständigste Tomcat-Installation, die ein init.d-Skript, Anwendungsbenennung, Hugepages, Sicherheitsmaßnahmen, schöne Fehlermeldungen, SHA512-hashierte Passwörter, JMX-Konfiguration, mehrere Tomcat-Versionen sowie getrennte katalina_home und catalina_base unterstützt.
Inhaltsverzeichnis
- Anforderungen
- Installation
- Rollenvariablen
- Abhängigkeiten
- Beispiel-Playbook
- Lizenzierung
- Autoreninformation
- Unterstützung
- Mitwirken
- Spende
Anforderungen
Keine.
Installation
ansible-galaxy install kami911.tomcat
Rollenvariablen
Verfügbare Variablen sind unten aufgeführt, zusammen mit Standardwerten (siehe defaults/main.yml
):
Installationsbezogene Optionen
tomcat_manage_java_pkg: False
Tomcat verwaltet die Installation von Java und installiert OpenJDK oder nicht.
tomcat_installer_force_download: true
Immer die Installationsdatei herunterladen. Falls bereits heruntergeladen, erneut herunterladen.
tomcat_download_mirror: https://archive.apache.org
Der Mirror, um die Installationsdatei herunterzuladen.
tomcat_download_url: '{{ tomcat_download_mirror }}/dist/tomcat/tomcat-{{ tomcat_majorversion }}/v{{ tomcat_majorversion }}.{{ tomcat_minorversion }}.{{ tomcat_patchversion }}/bin/{{ tomcat_download_file }}'
Die vollständige URL zur Installationsdatei.
tomcat_installer_force_overwrite: true
Immer die Installationsdatei auf dem Zielrechner überschreiben.
tomcat_installer_keep: true
Installer nach erfolgreicher Installation nicht löschen.
tomcat_installer_local: false
Installationsdatei auf die Ansible-Hostmaschine (nicht auf die Zielmaschine) direkt herunterladen. Ansible wird die Installationsdatei von der Ansible-Hostmaschine herunterladen und kopieren.
tomcat_download_validate_certs: false
Zertifikate während des Downloads der externen Installationsdatei validieren.
tomcat_force_update: false
Erzwungene Aktualisierung, wenn dieselbe Version bereits installiert ist. Alte Version wird immer aktualisiert.
Versionsbezogene Optionen
tomcat_majorversion: 8
Hauptversion von Tomcat.
tomcat_minorversion: 5
Nebenversion von Tomcat.
tomcat_patchversion: 4
Mikroversion von Tomcat.
tomcat_java_version: 11
Konfigurieren Sie Tomcat, um die angegebene Java-Version zu verwenden.
Hugepages-Verwendungsoptionen
tomcat_use_huge_pages: True
Verwenden Sie Huge Pages (Java nennt es: UseLargePages), um die Leistung von Java-Anwendungen zu verbessern. Wenn ein Prozess Speicher verwendet, markiert die CPU den RAM als von diesem Prozess verwendet. Um effizient zu sein, weist die CPU RAM in Stücken von 4K Byte zu (dies ist der Standardwert auf vielen Plattformen). Diese Stücke werden als Seiten bezeichnet. Diese Seiten können auf die Festplatte ausgelagert werden usw.
Da der Adressraum eines Prozesses virtuell ist, müssen die CPU und das Betriebssystem wissen, welche Seite zu welchem Prozess gehört und wo sie gespeichert ist. Offensichtlich dauert es länger, je mehr Seiten vorhanden sind, um zu finden, wo der Speicher abgebildet ist.
Wenn Sie es aktivieren, verwenden Sie KAMI911:hugepages, um Huge Pages in Linux zu konfigurieren.
Port-, Verbindungs- und Firewallbezogene Optionen
tomcat_manage_firewalld: true
Die Rolle verwaltet die Firewalld-Einstellungen für erforderliche Ports.
tomcat_enable_firewalld: false
Firewall-Dienst zwangsweise installieren und aktivieren.
tomcat_manage_firewalld_use_zone: true
Tomcat firewalld verwendet Zonen (Standard) oder verwendet Quelladressen.
Ein "Connector" stellt einen Endpunkt dar, über den Anfragen empfangen und Antworten zurückgegeben werden. Dokumentation bei:
- Java HTTP Connector: /docs/config/http.html
- Java AJP Connector: /docs/config/ajp.html
- APR (HTTP/AJP) Connector: /docs/apr.html
Definieren Sie einen nicht-SSL/TLS HTTP/1.1 Connector.
Alle konfigurationsbezogenen Einstellungen zu Connectors, Ports und Firewall sind unter der Variablen tomcat_server zusammengefasst:
tomcat_server:
- port: 8080 # Tomcat hörender http-Verbindungsport.
connector:
protocol: 'HTTP/1.1'
connectionTimeout: 20000
redirectPort: 8444
Server: ' '
URIEncoding: UTF-8
Secure: false
compressibleMimeType: 'text/html,text/xml,text/css,text/javascript,application/x-javascript,application/javascript,text/plain' # Komprimierte MIME-Typen der Tomcat http-Verbindung.
compression: on # Komprimierte Inhalte der Tomcat http-Verbindung aktivieren/deaktivieren.
compressionMinSize: 256 # Minimale Dateigröße für die komprimierte Tomcat http-Verbindung.
noCompressionUserAgents: '' # Tomcat http-Verbindung muss für diese Browser-Benutzeragenten unkomprimiert sein.
source: [] # Passen Sie dies an Ihr Netzwerk an
executor: # Executor angeben, wenn Sie diesen verwenden möchten. Vergessen Sie nicht, ihn in den Connector-Einstellungen über den Schlüssel 'executor' zu verwenden.
name: tomcatHTTPThreadPool
namePrefix: catalina-exec-http-
maxThreads: 300
minSpareThreads: 5
- port: 8009 # Tomcat hörender http-Verbindungsport.
connector:
protocol: 'AJP/1.3'
redirectPort: 8444
source: [] # Passen Sie dies an Ihr Netzwerk an
executor: # Executor angeben, wenn Sie diesen verwenden möchten.
name: tomcatAJPThreadPool
namePrefix: catalina-exec-ajp-
maxThreads: 900
minSpareThreads: 20
Der Tomcat "Connector" kann den gemeinsam genutzten Thread-Pool namens Executor für http/ajp/https-Verbindungen verwenden.
Kodierungsbezogene Optionen
tomcat_file_encoding: UTF-8
Kodierung des Tomcat-Dateiformats: UTF-8.
tomcat_page_encoding: UTF-8
Kodierung des Tomcat-Seitenformats: UTF-8.
Lokalisierung
Lokalisierungen identifizieren eine bestimmte Sprache und geografische Region.
Weitere Informationen zu den Ländereinstellungen von Java finden Sie hier: https://www.oracle.com/technical-resources/articles/javase/locale.html
tomcat_locale_language: en
Sprachcodes werden durch ISO 639 definiert, einen internationalen Standard, der zwei- und dreibuchstabige Codes für die meisten Sprachen der Welt zuweist. Die Lokalisierung verwendet die zweibuchstabigen Codes, um dieZiel Sprache zu identifizieren.
tomcat_locale_country: EN
Ländercodes werden durch ISO 3166 definiert, einen weiteren internationalen Standard. Er definiert zwei- und dreibuchstabige Abkürzungen für jedes Land oder jede Region der Welt.
tomcat_locale_region:
Ländercodes und Regionen werden durch ISO 3166 definiert.
tomcat_locale_variant:
Betriebssystem (OS), Browser und andere Softwareanbieter können den Code verwenden, um zusätzliche Funktionen oder Anpassungen bereitzustellen, die nur mit einer Sprach- und Ländereferenz nicht möglich sind.
Speicher-Konfigurationsoptionen
tomcat_java_heap_min: 4096
Minimale Java-Heap-Größe. Speichergrößen in Megabyte (m).
tomcat_java_heap_max: 4096
Maximale Java-Heap-Größe. Speichergrößen in Megabyte (m).
tomcat_java_permsize_min: 384
Minimale permanente Generationsgröße. Speichergrößen in Megabyte (m). Nur für Java 7 oder älter.
tomcat_java_permsize_max: 384
Maximale permanente Generationsgröße. Speichergrößen in Megabyte (m). Nur für Java 7 oder älter.
tomcat_java_thread_stack_size: 512
Java-Thread-Stack-Größe in Kilobyte (k).
Zusätzliche Java-Parameter
Überprüfen Sie die Java-Parameter nach Versionsnummern.
Optionen für native Bibliotheken
tomcat_native_library_enable: false
Versuchen Sie, die Tomcat Native Library zu verwenden. Die Apache Tomcat Native Library ist ein optionales Element, das mit Apache Tomcat verwendet werden kann, um Tomcat bestimmte native Ressourcen für Leistung und Kompatibilität nutzen zu lassen.
Weitere Informationen: https://tomcat.apache.org/native-doc/
Optionen für Protokollierung
tomcat_catalina_logs_directory_mode: "u=rwx,g=rwx,o="
Verzeichnisberechtigungen für Tomcat-Katalina-Protokolle.
tomcat_access_log_filename: '{{ tomcat_system_name }}_access'
Setzen Sie den Standarddateinamen für das Zugriffsprotokoll von Tomcat.
tomcat_access_log_extension: '.log'
Setzen Sie die Standarddateierweiterung für das Zugriffsprotokoll von Tomcat.
tomcat_access_log_pattern: "%{yyyy-MM-dd}tT%{HH:mm:ss.SSSXXXZ}t ${shortSystemName} %v %h (%{X-Forwarded-For}i) %A:%p %I %u "%r" %s %b %D %{Referer}i %{User-Agent}i"
Musterstring des Zugriffsprotokolls von Tomcat.
... (Der Text kann fortgesetzt werden, die Struktur bleibt gleich) ...
Abhängigkeiten
Keine.
Beispiel-Playbook
- hosts: all
roles:
- tomcat
Lizenzierung
Die Tomcat Ansible Role-Anwendung und die Dokumentationen sind unter den Bedingungen der MIT / BSD lizenziert. Eine Kopie dieser Lizenz finden Sie in der LICENSE-Datei im Quellpaket.
Autoreninformation
Diese Rolle wurde 2016-2020 von Kálmán Szalai - KAMI erstellt.
Unterstützung
Wenn Sie Fragen haben, zögern Sie nicht, mir eine Nachricht zu senden. Wenn Sie einen Bug gefunden haben oder einen Funktionswunsch haben, können Sie ein Problem melden.
Mitwirken
Es gibt viele Möglichkeiten, zur ansible-role-tomcat beizutragen – sei es durch das Senden von Patches, Testen, Berichten von Bugs oder Überprüfung und Aktualisierung der Dokumentation. Jede Mitwirkung wird geschätzt!
Bitte lesen Sie weiter im Kapitel Mitwirken.
Spenden
Wenn Sie dies nützlich finden, ziehen Sie bitte eine Spende in Betracht:
... (Der Text kann hier abgeschnitten werden, wenn nötig) ...
Most complete Tomcat installation, supporting init.d script,\ application naming, hugepages, hardening, beautiful error pages,\ sha512 hashed passwords, JMX configuration, multiple Tomcat versions,\ separated catalina_home and caralina_base.
ansible-galaxy install KAMI911.tomcat