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.

Build-Status

Inhaltsverzeichnis

  1. Anforderungen
  2. Installation
  3. Rollenvariablen
  4. Abhängigkeiten
  5. Beispiel-Playbook
  6. Lizenzierung
  7. Autoreninformation
  8. Unterstützung
  9. Mitwirken
  10. 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.

Debian Wiki: Hugepages

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:

paypal

... (Der Text kann hier abgeschnitten werden, wenn nötig) ...

Über das Projekt

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.

Installieren
ansible-galaxy install KAMI911.tomcat
Lizenz
mit
Downloads
1.9k
Besitzer
Open Source Enthusiast, System Administrator, Pythonist, OpenStreetMap & GIS Fan