Red Hat Training

A Red Hat training course is available for Red Hat JBoss Enterprise Application Platform

Kapitel 2. Verwalten der JBoss EAP

2.1. Herunterladen und Installieren der JBoss EAP

Dieses Handbuch bietet eine grundlegende Anleitung zum Herunterladen und Installieren von JBoss EAP unter Verwendung der Plattform-unabhängigen Zip-Installation.

See the Installation Guide for additional details, including instructions for installing JBoss EAP using the graphical installer or RPM package installation methods.

2.1.1. Installationsvoraussetzungen

Stellen Sie vor der Installation der JBoss EAP sicher, dass die folgenden Voraussetzungen erfüllt wurden.

Allgemeine Voraussetzungen

Voraussetzungen für die Zip-Installation

  • Der Benutzer, der die JBoss EAP ausführen wird, hat Lese- und Schreibzugriff auf das Installationsverzeichnis.
  • Das gewünschte Java Development Kit wurde installiert
  • Für Hewlett-Packard HP-UX wurde ein unzip Dienstprogramm installiert.
  • Für Windows Server wurden die JAVA_HOME und PATH Umgebungsvariablen eingestellt.

2.1.2. Herunterladen der JBoss EAP

Die JBoss EAP Zip-Installationsdatei kann vom Red Hat Kundenportal heruntergeladen werden.

  1. Melden Sie sich beim Red Hat Kundenportal an.
  2. Klicken Sie auf Downloads.
  3. Klicken Sie in der Produkt Downloads Liste auf Red Hat JBoss Enterprise Application Platform.
  4. Wählen Sie die gewünschte Version auf der Auswahlliste.
  5. Suchen Sie in der Tabelle nach dem Eintrag Red Hat JBoss Enterprise Application Platform 7.x.x und klicken Sie auf Download.
  6. Speichern Sie die Zip-Datei im gewünschten Verzeichnis.

2.1.3. Installieren der JBoss EAP

Wenn die JBoss EAP Zip-Installationsdatei heruntergeladen ist, kann sie durch Entpacken des Paketinhalts installiert werden.

  1. Verschieben Sie gegebenenfalls die Zip-Datei auf den Server und an den Speicherort, an dem die JBoss EAP installiert werden soll.

    • Der Benutzer, der die JBoss EAP ausführt, muss Lese- und Schreibzugriff auf dieses Verzeichnis haben.
  2. Entpacken Sie das Zip-Archiv.

    $ unzip jboss-eap-7.x.x.zip
    Anmerkung

    Wählen Sie beim Windows Server per Rechtsklick auf die Zip-Datei Alle Entpacken.

Das durch Entpacken des Zip-Archivs erstellte Verzeichnis ist das Verzeichnis der obersten Ebene für die JBoss EAP Installation. Dieses wird bezeichnet als EAP_HOME.

2.2. Starten und Anhalten der JBoss EAP

2.2.1. Starten der JBoss EAP

Die JBoss EAP läuft in einem von zwei Betriebsmodi: als Standalone-Server oder in einer Managed Domain, und sie wird auf mehreren Plattformen unterstützt: Red Hat Enterprise Linux, Windows Server, Oracle Solaris und Hewlett-Packard HP-UX.

Der spezifische Befehl zum Starten der JBoss EAP hängt von der zugrundeliegenden Plattform und dem gewünschten Betriebsmodus ab.

Starten der JBoss EAP als Standalone-Server
$ EAP_HOME/bin/standalone.sh
Anmerkung

Benutzen Sie für Windows Server das EAP_HOME\bin\standalone.bat Skript.

Dieses Startup Skript benutzt die EAP_HOME/bin/standalone.conf Datei (oder standalone.conf.bat für Windows Server) um Standardpräferenzen, wie JVM-Optionen, einzustellen. Sie können die Einstellungen in dieser Datei anpassen.

JBoss EAP benutzt standardmäßig die standalone.xml Konfigurationsdatei, kann aber auch unter Verwendung einer anderen gestartet werden. Weitere Details zu verfügbaren Standalone-Konfigurationsdateien und deren Gebrauch finden Sie unter Konfigurationsdateien des Standalone-Servers.

Eine vollständige Liste aller verfügbaren Startup-Script-Argumente und ihrer Zwecke finden Sie im --help Argument oder im Abschnitt Server-Runtime-Argumente.

Starten der JBoss EAP in einer Managed Domain

Der Domain-Controller muss vor den Servern in allen Servergruppen in der Domain gestartet werden. Benutzen Sie dieses Skript um zuerst den Domain-Controller und dann jeden zugehörigen Host-Controller zu starten.

$ EAP_HOME/bin/domain.sh
Anmerkung

Benutzen Sie für Windows Server das EAP_HOME\bin\domain.bat Skript.

Dieses Startup Skript benutzt die EAP_HOME/bin/domain.conf Datei (oder domain.conf.bat für Windows Server) um einige Standardpräferenzen, wie JVM-Optionen, einzustellen. Sie können die Einstellungen in dieser Datei anpassen.

JBoss EAP benutzt standardmäßig die host.xml Host-Konfigurationsdatei, kann aber auch unter Verwendung einer anderen gestartet werden. Details zu verfügbaren Konfigurationsdateien der Managed Domain und deren Gebrauch finden Sie im Abschnitt Konfigurationsdateien der Managed Domain.

Beim Einrichten einer Managed Domain müssen zusätzliche Argumente in das Startup Skript übergeben werden. Eine vollständige Liste aller verfügbaren Startup Skript Argumente und ihrer Zwecke finden Sie im --help Argument oder im Abschnitt Server-Runtime-Argumente

2.2.2. Anhalten der JBoss EAP

Wie Sie die JBoss EAP anhalten können, hängt davon ab, wie Sie sie gestartet haben.

Anhalten einer interaktiven Instanz der JBoss EAP

Drücken Sie Ctrl+C im Terminal, in dem die JBoss EAP gestartet wurde.

Anhalten einer Hintergrund-Instanz der JBoss EAP

Benutzen Sie das Management CLI um mit der laufenden Instanz zu verbinden und den Server herunterzufahren.

  1. Starten Sie das Management CLI.

    $ EAP_HOME/bin/jboss-cli.sh --connect
  2. Geben Sie den shutdown Befehl.

    Herunterfahren
Anmerkung

Bei der Ausführung in einer Managed Domain müssen Sie zum Herunterfahren den Hostnamen angeben, indem Sie das --host Argument mit dem shutdown Befehl verwenden.

2.3. JBoss EAP Management

JBoss EAP verwendet eine vereinfachte Konfiguration mit einer Konfigurationsdatei pro Standalone-Server oder Managed Domain. Die Standard-Konfiguration für einen Standalone-Server ist in der EAP_HOME/standalone/configuration/standalone.xml Datei gespeichert und die Standard-Konfiguration für eine Managed Domain ist in der EAP_HOME/domain/configuration/domain.xml Datei gespeichert. Ergänzend ist die Standard-Konfiguration für einen Host-Controller in der EAP_HOME/domain/configuration/host.xml Datei gespeichert.

JBoss EAP kann über das Befehlszeilen-Management CLI oder über die Management-Konsole auf Web-Basis konfiguriert werden. Änderungen mittels dieser Verwaltungs-Schnittstellen bleiben automatisch bestehen und die XML Konfigurationsdateien werden durch das Management API überschrieben. Es ist nicht empfehlenswert die XML Konfigurationsdateien manuell zu bearbeiten.

2.3.1. Verwaltungsbenutzer

Die Standard JBoss EAP-Konfiguration bietet lokale Authentifizierung, damit ein Benutzer ohne Authentifizierung auf die Management-Befehlszeile auf dem lokalen Host zugreifen kann.

Sie müssen jedoch mindestens einen administrativen Benutzer erstellen, um remote auf die Management-Befehlszeile zuzugreifen oder die Managementkonsole zu verwenden, die als Remotezugriff betrachtet wird, auch wenn der Traffic vom Localhost kommt. Wenn Sie versuchen, auf die Management-Konsole zuzugreifen, bevor Sie einen Benutzer hinzugefügt haben, wird Ihnen eine Fehlermeldung angezeigt.

Wurde JBoss EAP über die grafische Installation installiert, wird während dem Installationsprozess ein Management-Benutzer erstellt.

This guide covers simple user management for JBoss EAP using the add-user script, which is a utility for adding new users to the properties files for out-of-the-box authentication. For more advanced authentication and authorization options, such as LDAP or Role-Based Access Control (RBAC), see the Core Management Authentication section of the JBoss EAP Security Architecture guide.

2.3.1.1. Hinzufügen eines neuen Verwaltungsbenutzers

  1. Führen Sie das Skript des add-user Dienstprogramms aus und folgen Sie den Aufforderungen.

    $ EAP_HOME/bin/add-user.sh
    Anmerkung

    Benutzen Sie für Windows Server das EAP_HOME\bin\add-user.bat Skript.

  2. Drücken Sie ENTER um die Standardoption a zum Hinzufügen eines Verwaltungsbenutzers zu wählen.

    Dieser Benutzer wird zum Verwaltungs-Realm hinzugefügt und ist autorisiert mittels Management-Konsole oder Management CLI Verwaltungsvorgänge auszuführen. Die andere Möglichkeit (b) fügt einen Benutzer zum Anwendungs-Realm hinzu, der für Anwendungen benutzt wird und keine besonderen Berechtigungen bietet.

  3. Geben Sie die gewünschten Angaben für Benutzernamen und Passwort ein. Sie werden dann aufgefordert, das Passwort zu bestätigen.

    By default, JBoss EAP allows weak passwords but will issue a warning. See the Setting Add-User Utility Password Restrictions section of the JBoss EAP Configuration Guide for details on changing this default behavior.

  4. Geben Sie eine Komma-getrennte Liste von Gruppen ein, denen der Benutzer zugehören soll. Wenn Sie nicht möchten, dass der Benutzer einer Gruppe zugehört, drücken Sie ENTER um das Feld frei zu lassen.
  5. Überprüfen Sie die Informationen und geben Sie yes zur Bestätigung ein.
  6. Bestimmen Sie, ob dieser Benutzer eine entfernte JBoss EAP Server-Instanz darstellt. Geben Sie für einen einfachen Verwaltungsbenutzer no ein.

    Ein Benutzertyp, der u.U. zum Verwaltungs-Realm hinzugefügt werden muss, repräsentiert eine andere Instanz der JBoss EAP, die sich authentifizieren können muss um Mitglied eines Clusters werden. Ist dies der Fall, so antworten Sie mit yes auf diese Aufforderung und Ihnen wird ein secret Hash-Wert als Benutzerpasswort gegeben, der einer anderen Konfigurationsdatei hinzugefügt werden muss.

Benutzer können auch nicht-interaktiv erstellt werden, indem Parameter an das add-user Skript übergeben werden. Dieser Ansatz wird für gemeinsam genutzte Systeme nicht empfohlen, weil die Passwörter in Protokoll- und Verlauf-Dateien sichtbar sind. Weitere Informationen finden Sie unter Nicht-interaktives Ausführen des Dienstprogramms Benutzer-Hinzufügen.

2.3.1.2. Nicht-interaktives Ausführen des Dienstprogramms Benutzer-Hinzufügen

Sie können das add-user Skript nicht-interaktiv ausführen, indem Sie Argumente an der Befehlszeile übergeben. Es muss mindestens Benutzername und Passwort angegeben werden.

Warnung

Dieser Ansatz wird für gemeinsam benutzte Systeme nicht empfohlen, weil die Passwörter in Protokoll- und Verlauf-Dateien sichtbar sind.

Erstellen eines neuen Benutzers, der zu mehreren Gruppen gehört

Der folgende Befehl fügt einen Verwaltungsbenutzer (mgmtuser1) hinzu mit guest und mgmtgroup Gruppen.

$ EAP_HOME/bin/add-user.sh -u 'mgmtuser1' -p 'password1!' -g 'guest,mgmtgroup'
Geben Sie eine alternative Eigenschaften-Datei an

Standardmäßig sind Informationen zu Benutzern und Gruppen, die mittels des add-user Skripts erstellt wurden, in den Eigenschaften-Dateien gespeichert, die sich im Konfigurationsverzeichnis des Servers befinden.

Benutzerinformationen sind in den folgenden Eigenschaften-Dateien gespeichert:

  • EAP_HOME/standalone/configuration/mgmt-users.properties
  • EAP_HOME/domain/configuration/mgmt-users.properties

Gruppeninformationen sind in den folgenden Eigenschaften-Dateien gespeichert:

  • EAP_HOME/standalone/configuration/mgmt-groups.properties
  • EAP_HOME/domain/configuration/mgmt-groups.properties

Diese Standardverzeichnisse und Namen der Eigenschaften-Dateien können ersetzt werden. Der folgende Befehl fügt einen neuen Benutzer hinzu und gibt einen anderen Namen und Speicherort für die Eigenschaften-Dateien des Benutzers an.

$ EAP_HOME/bin/add-user.sh -u 'mgmtuser2' -p 'password1!' -sc '/path/to/standaloneconfig/' -dc '/path/to/domainconfig/' -up 'newname.properties'

Der neue Benutzer wurde zu den Eigenschaften-Dateien hinzugefügt, die jetzt unter /path/to/standaloneconfig/newname.properties und /path/to/domainconfig/newname.properties zu finden sind. Beachten Sie, dass diese Dateien bereits existieren müssen, ansonsten wird ein Fehler angezeigt.

Eine vollständige Liste aller verfügbaren add-user Argumente und ihrer Zwecke finden Sie im --help Argument oder im Abschnitt Argumente für das Dienstprogramm Benutzer-Hinzufügen.

2.3.2. Verwaltungs-Schnittstellen

2.3.2.1. Management CLI

Das Management Command-Line Interface (CLI) ist ein Befehlszeilen-Verwaltungstool für JBoss EAP.

Benutzen Sie das Management CLI zum Starten und Anhalten von Servern, zum Bereitstellen und Deinstallieren von Anwendungen, zum Konfigurieren von Systemeinstellungen und zum Ausführen weiterer administrativer Aufgaben. Das Ausführen von Vorgängen im Batch-Modus ermöglicht mehrere Aufgaben als Gruppe auszuführen.

Viele allgemeine Terminal-Befehle sind verfügbar, wie ls, cd und pwd. Das Management CLI unterstützt auch die Vervollständigung mit der Tab-Taste.

For detailed information on using the management CLI, including commands and operations, syntax, and running in batch mode, see the JBoss EAP Management CLI Guide.

Starten des Management CLI
$ EAP_HOME/bin/jboss-cli.sh
Anmerkung

Benutzen Sie für Windows Server das EAP_HOME\bin\jboss-cli.bat Skript.

Verbinden mit einem laufenden Server
verbinden

Sie können auch das Management CLI starten und über den EAP_HOME/bin/jboss-cli.sh --connect Befehl in einem Schritt verbinden.

Hilfe anzeigen

Benutzen Sie folgenden Befehl für allgemeine Hilfe

Hilfe

Hilfe zu einem bestimmten Befehl bekommen Sie mit folgendem Befehl.

deploy --help
Management CLI beenden
Beenden
Systemeinstellungen ansehen

Der folgende Befehl benutzt den read-attribute Vorgang um anzuzeigen, ob die Beispiel-Datenquelle aktiviert ist.

/subsystem=datasources/data-source=ExampleDS:read-attribute(name=enabled)
{
    "outcome" => "success",
    "result" => true
}

Bei der Ausführung in einer Managed Domain müssen Sie angeben, welches Profil aktualisiert werden soll, indem Sie dem Befehl /profile=PROFILE_NAME voranstellen.

/profile=default/subsystem=datasources/data-source=ExampleDS:read-attribute(name=enabled)
Systemeinstellungen aktualisieren

Der folgende Befehl benutzt den write-attribute Vorgang um die Beispiel-Datenquelle zu deaktivieren.

/subsystem=datasources/data-source=ExampleDS:write-attribute(name=enabled,value=false)
Server starten

Das Management CLI kann auch benutzt werden um Server zu starten und anzuhalten, wenn sie in einer Managed Domain ausgeführt werden.

/host=HOST_NAME/server-config=server-one:start

2.3.2.2. Management-Konsole

Die Management-Konsole ist ein Verwaltungs-Tool auf Web-Basis für die JBoss EAP.

Verwenden Sie die Management-Konsole für das Starten und Anhalten von Servern, zum Bereitstellen und De-Installieren von Anwendungen, für die Feinabstimmung von Systemeinstellungen und die Durchführung permanenter Modifikationen an der Server-Konfiguration. Die Management-Konsole kann auch für administrative Aufgaben wie Live-Benachrichtigungen eingesetzt werden, wenn Änderungen durch den aktuellen Benutzer einen Neustart oder ein erneutes Laden der Server-Instanz erfordern.

In einer Managed Domain können Server-Instanzen und Server-Gruppen in derselben Domain zentral von der Management-Konsole des Domain-Controllers aus verwaltet werden.

Für eine JBoss EAP Instanz, die auf einem Localhost ausgeführt wird und den standardmäßigen Management Port benutzt, kann über einen Web-Browser bei http://localhost:9990/console/App.html auf die Management-Konsole zugegriffen werden. Sie müssen sich mit einem Benutzer authentifizieren, der Zugriffsberechtigungen für die Management-Konsole hat.

Die Management-Konsole bietet folgende Tabs zur Navigation und Verwaltung Ihres JBoss EAP Standalone Servers oder Ihrer Managed Domain.

Home
Lernen Sie mehr über verschiedene allgemeine Konfigurations- und Verwaltungsaufgaben. Machen Sie sich mithilfe unserer Tour mit der JBoss EAP Management-Konsole vertraut.
Deployments
Hinzufügen, Entfernen und Aktivieren von Deployments. Zuweisung von Deployments zu Gruppen in einer Managed Domain.
Konfiguration
Konfigurieren Sie verfügbarer Subsysteme, die gewisse Fähigkeiten bereitstellen, wie Web Services, Messaging oder Hochverfügbarkeit. Verwalten Sie Profile mit unterschiedlichen Subsystem Konfigurationen in einer Managed Domain.
Laufzeit
Lassen Sie sich Laufzeit-Informationen wie Server Status, JVM Verbrauch und Server Protokolle anzeigen. Verwalten Sie Ihre Hosts, Servergruppen und Server in einer Managed Domain.
Zugriffskontrolle
Weisen Sie unter Verwendung der Rollen-basierten Zugriffskontrolle den Benutzern und Gruppen bestimmte Rollen zu.
Patching
Patches auf Ihre JBoss EAP Instanzen anwenden.
Anmerkung

To take a tour of the updated management console, click the Take a Tour link on the management console home page.

To view details about the form fields, click the Need Help? link.

To view the message history of configuration actions you have performed, click the Messages link in the top-right of the management console.

2.3.3. Konfigurationsdateien

2.3.3.1. Konfigurationsdateien des Standalone-Servers

The standalone configuration files are located in the EAP_HOME/standalone/configuration/ directory. A separate file exists for each of the four predefined profiles (default, ha, full, full-ha).

Tabelle 2.1. Standalone-Konfigurationsdateien

KonfigurationsdateiVerwendungszweck

standalone.xml

Diese Standalone-Konfigurationsdatei ist die Standardkonfiguration, die benutzt wird, wenn Sie Ihren Standalone-Server starten. Sie enthält alle Informationen über den Server, einschließlich Subsysteme, Networking, Deployment, Socket-Bindungen und andere konfigurierbare Details. Sie bietet nicht die zum Messaging oder zur Hochverfügbarkeit notwendigen Subsysteme.

standalone-ha.xml

Diese Standalone-Konfigurationsdatei umfasst alle Standard-Subsysteme und fügt die modcluster und jgroups Subsysteme für die Hochverfügbarkeit hinzu. Sie stellt nicht die zum Messaging notwendigen Subsysteme bereit.

standalone-full.xml

Diese Standalone-Konfigurationsdatei umfasst alle Standard-Subsysteme und fügt die messaging-activemq und iiop-openjdk Subsysteme hinzu. Sie stellt nicht die für Hochverfügbarkeit notwendigen Subsysteme bereit.

standalone-full-ha.xml

Diese Standalone-Konfigurationsdatei beinhaltet Support für jedes mögliche Subsystem, einschließlich der Subsysteme für Messaging und Hochverfügbarkeit.

Der Start der JBoss EAP als Standalone-Server benutzt standardmäßig die standalone.xml Datei. Um die JBoss EAP mit einer anderen Konfiguration zu starten, benutzen Sie das --server-config Argument. Zum Beispiel

$ EAP_HOME/bin/standalone.sh --server-config=standalone-full.xml

2.3.3.2. Konfigurationsdateien der Managed Domain

Die Konfigurationsdateien der Managed Domain befinden sich im EAP_HOME/domain/configuration/ Verzeichnis.

Tabelle 2.2. Konfigurationsdateien der Managed Domain

KonfigurationsdateiVerwendungszweck

domain.xml

This is the main configuration file for a managed domain. Only the domain master reads this file. This file contains the configurations for all of the profiles (default, ha, full, full-ha).

host.xml

Diese Datei enthält spezifische Konfigurationsdetails für einen physischen Hosts in einer Managed Domain, wie Netzwerkschnittstellen, Socket-Bindungen, den Namen des Hosts und andere Host-spezifische Details. Die host.xml Datei umfasst alle Funktionen sowohl des host-master.xml, als auch des host-slave.xml, wie sie unten beschrieben sind.

host-master.xml

Diese Datei umfasst nur die Konfigurationsdetails, die zur Ausführung des Servers als Master Domain Controller notwendig sind.

host-slave.xml

Diese Datei umfasst nur die Konfigurationsdetails, die zur Ausführung des Servers als Managed Domain Host Controller notwendig sind.

Der Start der JBoss EAP in einer Managed Domain benutzt standardmäßig die host.xml Datei. Um die JBoss EAP mit einer anderen Konfiguration zu starten, benutzen Sie das --host-config Argument. Zum Beispiel

$ EAP_HOME/bin/domain.sh --host-config=host-master.xml

2.3.3.3. Sichern der Konfigurationsdaten

Um die JBoss EAP Serverkonfiguration später wieder herzustellen, sollten Elemente an den folgenden Speicherorten gesichert werden:

  • EAP_HOME/standalone/configuration/

    • Sichern Sie das gesamte Verzeichnis um Benutzerdaten, Serverkonfiguration und Protokollierungseinstellungen für Standalone-Server zu speichern.
  • EAP_HOME/domain/configuration/

    • Sichern Sie das gesamte Verzeichnis um Benutzer- und Profildaten, Domain und Host-Konfiguration, sowie Protokollierungseinstellungen für Managed Domains zu speichern.
  • EAP_HOME/modules/

    • Sichern Sie jegliche benutzerdefinierten Module.
  • EAP_HOME/welcome-content/

    • Sichern Sie jegliche benutzerdefinierten Willkommensinhalte.
  • EAP_HOME/bin/

    • Sichern Sie jegliche benutzerdefinierten Skripts oder Start-Konfigurationsdateien.

2.3.3.4. Konfigurationsdatei-Snapshots

Um die Wartung und Verwaltung des Servers zu unterstützen erstellt die JBoss EAP zum Zeitpunkt der Inbetriebnahme eine mit Zeitstempel versehene Version der originalen Konfigurationsdatei. Durch Verwaltungs-Vorgänge erfolgte Konfigurations-Änderungen führen zum automatischen Backup der Ursprungs-Datei und zur Speicherung einer Arbeitskopie der Instanz für Referenz und Rollback. Zusätzlich können Konfigurations-Snapshots erstellt werden, welche Zeitpunkt-Kopien der Server-Konfiguration darstellen. Diese Snapshots können von Administratoren gespeichert und geladen werden.

Die folgenden Beispiele verwenden die standalone.xml Datei, aber derselbe Prozess gilt für domain.xml und host.xml Dateien.

Erstellen eines Snapshots

Benutzen Sie das Management CLI um einen Snapshot der aktuellen Konfigurationen zu erstellen.

:take-snapshot
{
    "outcome" => "success",
    "result" => "EAP_HOME/standalone/configuration/standalone_xml_history/snapshot/20151022-133109702standalone.xml"
}
Liste aller Snapshots

Verwenden Sie das Management CLI um alle erstellten Snapshots aufzulisten.

:list-snapshots
{
    "outcome" => "success",
    "result" => {
        "directory" => "EAP_HOME/standalone/configuration/standalone_xml_history/snapshot",
        "names" => [
            "20151022-133109702standalone.xml",
            "20151022-132715958standalone.xml"
        ]
    }
}
Löschen eines Snapshots

Verwenden Sie das Management CLI um einen Snapshot zu löschen.

:delete-snapshot(name=20151022-133109702standalone.xml)
Starten des Servers mit einem Snapshot

Der Server kann mithilfe eines Snapshots oder einer automatisch gespeicherten Version der Konfiguration gestartet werden.

  1. Gehen Sie zum EAP_HOME/standalone/configuration/standalone_xml_history Verzeichnis und identifizieren Sie den zu ladenden Snapshot oder die zu ladende Konfigurationsdatei.
  2. Starten Sie den Server und weisen Sie auf die ausgewählte Konfigurationsdatei hin. Geben Sie den Dateipfad relativ zum Konfigurationsverzeichnis EAP_HOME/standalone/configuration/ an.

    $ EAP_HOME/bin/standalone.sh --server-config=standalone_xml_history/snapshot/20151022-133109702standalone.xml
Anmerkung

Wenn Sie in einer Managed Domain arbeiten, benutzen Sie stattdessen das --host-config Argument um die Konfigurationsdatei anzugeben.

2.3.3.5. Eigenschaften-Austausch

JBoss EAP ermöglicht Ihnen den Gebrauch von Ausdrücken an Stelle von literalen Werten um austauschbare Eigenschaften in der Konfiguration festzulegen. Ausdrücke verwenden das Format ${PARAMETER:DEFAULT_VALUE}. Ist der festgelegte Parameter eingestellt, so wird der Wert des Parameters verwendet. Andernfalls wird der angegebene Standardwert verwendet.

Unterstützte Quellen zum Auflösen der Ausdrücke sind Systemeigenschaften, Umgebungsvariablen und der Tresor. Nur für Deployments kann die Quelle aus Eigenschaften bestehen, die in einer META-INF/jboss.properties Datei im Deployment-Archiv aufgelistet sind. Für Deployment-Typen, die Sub-Deployments unterstützen, ist die Auflösung auf den Geltungsbereich aller Sub-Deployments bezogen, sofern die Eigenschaften-Datei im äußeren Deployment (z.B. EAR) ist. Ist die Eigenschaften-Datei im Sub-Deployment, so ist die Auflösung nur auf den Geltungsbereich dieses Sub-Deployments bezogen.

Das unten angeführte Beispiel aus der standalone.xml Konfigurationsdatei setzt die inet-address für die public Schnittstelle auf 127.0.0.1, außer der jboss.bind.address Parameter ist festgelegt.

<interface name="public">
    <inet-address value="${jboss.bind.address:127.0.0.1}"/>
</interface>

Der jboss.bind.address Parameter kann beim Start der EAP als Standalone-Server mit folgendem Befehl festgelegt werden:

$ EAP_HOME/bin/standalone.sh -Djboss.bind.address=IP_ADDRESS
Verschachtelte Ausdrücke

Man kann Ausdrücke verschachteln, wodurch ein fortgeschrittener Gebrauch von Ausdrücken an Stelle von festen Werten möglich ist. Das Format eines verschachtelten Ausdrucks ist wie das eines normalen Ausdrucks, aber ein Ausdruck ist in einem anderen eingebettet, zum Beispiel:

${SYSTEM_VALUE_1${SYSTEM_VALUE_2}}

Verschachtelte Ausdrücke werden rekursiv ausgewertet, damit zuerst der innere Ausdruck ausgewertet wird, und dann der äußere Ausdruck. Ausdrücke können auch rekursiv sein, wenn sich ein Ausdruck in einen anderen Ausdruck auflöst, der dann aufgelöst wird. Verschachtelte Ausdrücke sind überall zugelassen, wo Ausdrücke zugelassen sind, mit Ausnahme des Management CLI Befehls.

Ein Beispiel für eine mögliche Verwendung eines verschachtelten Ausdrucks wäre, wenn das in einer Datenquellen-Definition verwendete Passwort maskiert ist. Die Konfiguration für die Datenquelle könnte folgende Zeile haben:

<password>${VAULT::ds_ExampleDS::password::1}</password>

Der Wert von ds_ExampleDS könnte unter Verwendung eines verschachtelten Ausdrucks durch eine Systemeigenschaft (datasource_name) ersetzt werden. Die Konfiguration für die Datenquelle könnte stattdessen folgende Zeile haben:

<password>${VAULT::${datasource_name}::password::1}</password>

Die JBoss EAP würde zuerst den Ausdruck ${datasource_name} auswerten, dies anschließend am größeren Ausdruck eingeben und den daraus entstehenden Ausdruck auswerten. Der Vorteil dieser Konfiguration ist, dass der Name der Datenquelle von der festen Konfiguration abgewandelt ist.

Eigenschaften-Austausch auf Deskriptor-Basis

Gewöhnlich variiert die Anwendungskonfiguration (z.B. Verbindungsparameter der Datenquelle) zwischen Entwicklung, Test und Produktionsumgebung. Diese Abweichung ist manchmal in Build-System Skripts gespeichert, da die Java EE Spezifikation keine Methode zum Externalisieren dieser Konfigurationen enthält. Mit der JBoss EAP können Sie Eigenschaften-Austausch auf Deskriptor-Basis verwenden um Konfigurationen extern zu verwalten.

Eigenschaften-Austausch auf Deskriptor-Basis ersetzt Eigenschaften aufgrund von Deskriptoren, wodurch Sie Annahmen über die Umgebung aus der Anwendung und der Build-Kette entfernen können. Umgebungs-spezifische Konfigurationen werden in den Deployment-Deskriptoren bestimmt, anstatt in Anmerkungen oder Build System Skripts. Sie können Konfigurationen in Dateien oder als Parameter an der Befehlszeile bereitstellen.

Es gibt mehrere Flags im ee Subsystem, die kontrollieren, ob Eigenschaften-Austausch angewendet wird.

JBoss-spezifischer Deskriptor-Austausch wird von der jboss-descriptor-property-replacement Flag kontrolliert und ist standardmäßig aktiviert. Wenn er aktiviert ist, können Eigenschaften in den folgenden Deployment-Deskriptoren ersetzt werden:

  • jboss-ejb3.xml
  • jboss-app.xml
  • jboss-web.xml
  • *-jms.xml
  • *-ds.xml

Der folgende Management CLI Befehl kann verwendet werden um Eigenschaften-Austausch in JBoss-spezifischen Deskriptoren zu aktivieren oder zu deaktivieren:

/subsystem=ee:write-attribute(name="jboss-descriptor-property-replacement",value=VALUE)

Java EE Deskriptor-Austausch wird vom spec-descriptor-property-replacement Flag kontrolliert und ist standardmäßig deaktiviert. Ist er aktiviert, so können Eigenschaften in den folgenden Deployment-Deskriptoren ersetzt werden:

  • ejb-jar.xml
  • persistence.xml
  • application.xml
  • web.xml

Der folgende Management CLI Befehl kann verwendet werden um Eigenschaften-Austausch in Java EE Deskriptoren zu aktivieren oder zu deaktivieren:

/subsystem=ee:write-attribute(name="spec-descriptor-property-replacement",value=VALUE)

2.4. Netzwerk- und Port-Konfiguration

2.4.1. Schnittstellen

JBoss EAP verweist in der ganzen Konfiguration auf benannte Schnittstellen. Dies ermöglicht der Konfiguration auf einzelne Schnittstellen-Deklarationen mit logischen Namen zu verweisen, anstatt bei jeder Verwendung die vollständigen Details der Schnittstelle zu erfordern.

Dies ermöglicht auch leichtere Konfiguration in einer Managed Domain, wo die Details von Netzwerkschnittstellen auf verschiedenen Rechnern variieren können. Jede Server-Instanz kann einer Gruppe von logischen Namen entsprechen.

Die Dateien standalone.xml, domain.xml und host.xml umfassen Schnittstellen-Deklarationen. Je nach verwendeter Standardkonfiguration gibt es mehrere vorkonfigurierte Schnittstellen-Namen. Die Schnittstelle management kann für alle Komponenten und Dienste verwendet werden, die die Managementebene benötigen, einschließlich des HTTP-Management-Endpunkts. Die Schnittstelle public kann für alle anwendungsbezogene Netzwerkkommunikation verwendet werden. Die Schnittstelle unsecure wird in der Standardkonfiguration für IIOP-Sockets verwendet. Die Schnittstelle private wird in der Standardkonfiguration für JGroups-Sockets verwendet.

2.4.1.1. Standard Schnittstellen-Konfigurationen

<interfaces>
  <interface name="management">
    <inet-address value="${jboss.bind.address.management:127.0.0.1}"/>
  </interface>
  <interface name="public">
    <inet-address value="${jboss.bind.address:127.0.0.1}"/>
  </interface>
  <interface name="private">
    <inet-address value="${jboss.bind.address.private:127.0.0.1}"/>
  </interface>
  <interface name="unsecure">
    <inet-address value="${jboss.bind.address.unsecure:127.0.0.1}"/>
  </interface>
</interfaces>

Die JBoss EAP bindet diese Schnittstellen standardmäßig an 127.0.0.1, aber diese Werte können zur Runtime außer Kraft gesetzt werden, indem die entsprechende Eigenschaft eingestellt wird. Mit folgendem Befehl kann zum Beispiel die inet-address der public Schnittstelle beim Start der JBoss EAP als Standalone-Server festgelegt werden.

$ EAP_HOME/bin/standalone.sh -Djboss.bind.address=IP_ADDRESS

Alternativ können Sie den Switch -b in der Serverstart-Befehlszeile verwenden. Weitere Informationen zu Server-Startoptionen finden Sie unter Server-Runtime-Argumente.

Wichtig

Wenn Sie die Standard-Netzwerkschnittstellen oder Ports, die JBoss EAP verwendet, ändern, müssen Sie zudem Scripts ändern, die die modifizierten Schnittstellen oder Ports verwenden. Hierzu gehören JBoss EA-Dienst-Scripts, und zudem müssen Sie daran denken, die richtige Schnittstelle und den Port anzugeben, wenn Sie auf die Managementkonsole oder die Management-CLI zugreifen.

2.4.1.2. Konfigurieren von Schnittstellen

Netzwerkschnittstellen werden deklariert, indem ein logischer Name und Auswahlkriterien für die physische Schnittstelle angegeben werden. Die Auswahlkriterien können auf eine Wildcard-Adresse verweisen oder einen Satz von einem oder mehreren Merkmalen angeben, die eine Schnittstelle oder Adresse haben muss um eine gültige Übereinstimmung darzustellen. Eine Liste aller verfügbaren Schnittstellen-Auswahlkriterien finden Sie im Abschnitt Schnittstellenattribute.

Schnittstellen können mittels der Management-Konsole oder dem Management CLI konfiguriert werden. Unten finden Sie einige Beispiele für das Hinzufügen und Aktualisieren von Schnittstellen. Zuerst wird der Management CLI Befehl angezeigt, gefolgt von der entsprechenden Konfiguration XML.

Hinzufügen einer Schnittstelle mit einem NIC Wert

Fügen Sie eine neue Schnittstelle mit einem NIC Wert von eth0 hinzu.

/interface=external:add(nic=eth0)
<interface name="external">
   <nic name="eth0"/>
</interface>
Hinzufügen einer Schnittstelle mit mehreren bedingten Werten

Neue Schnittstelle hinzufügen, die mit jeder Schnittstelle/Adresse auf dem korrekten Subnetz übereinstimmt, Multicast unterstützt und nicht Point-to-Point ist.

/interface=default:add(subnet-match=192.168.0.0/16,up=true,multicast=true,not={point-to-point=true})
<interface name="default">
   <subnet-match value="192.168.0.0/16"/>
   <up/>
   <multicast/>
   <not>
      <point-to-point/>
   </not>
</interface>
Aktualisieren eines Schnittstellenattributs

Aktualisieren Sie den Standard inet-address Wert der public Schnittstelle unter Erhalt der jboss.bind.address Eigenschaft, damit dieser Wert zur Runtime eingestellt werden kann.

/interface=public:write-attribute(name=inet-address,value="${jboss.bind.address:192.168.0.0}")
<interface name="public">
    <inet-address value="${jboss.bind.address:192.168.0.0}"/>
</interface>
Hinzufügen einer Schnittstelle zu einem Server in einer Managed Domain
/host=master/server-config=SERVER_NAME/interface=INTERFACE_NAME:add(inet-address=127.0.0.1)
<servers>
   <server name="SERVER_NAME" group="main-server-group">
      <interfaces>
         <interface name="INTERFACE_NAME">
            <inet-address value="127.0.0.1"/>
         </interface>
      </interfaces>
   </server>
</servers>

2.4.2. Socket-Bindungen

Socket-Bindungen und Gruppen von Socket-Bindungen ermöglichen Ihnen Netzwerk-Ports und ihre Beziehung zu den für Ihre JBoss EAP Konfiguration erforderlichen Netzwerk-Schnittstellen zu definieren. Eine Socket-Bindung ist eine benannte Socketkonfiguration. Eine Gruppe von Socket-Bindungen ist eine Sammlung von Socket-Bindung Deklarationen, die unter einem logischen Namen gruppiert sind.

Dies ermöglicht anderen Abschnitten der Konfiguration Socket-Bindungen anhand ihres logischen Namens zu referenzieren, anstatt bei jeder Verwendung die vollen Details der Socket Konfiguration zu erfordern.

Die Deklarationen für diese benannten Konfigurationen können in den standalone.xml und domain.xml Konfigurationsdateien gefunden werden. Ein Standalone-Server enthält nur eine Gruppe von Socket-Bindungen, während eine Managed Domain mehrere Gruppen enthalten kann. Sie können eine Gruppe von Socket-Bindungen für jede Servergruppe in der Managed Domain erstellen, oder eine Gruppe von Socket-Bindungen unter mehreren Servergruppen teilen.

Die von der JBoss EAP standardmäßig benutzten Ports sind abhängig davon, welche Gruppen von Socket-Bindungen benutzt werden und welche Anforderungen bei Ihren einzelnen Deployments bestehen.

2.4.2.1. Management Ports

Management Ports wurden in der JBoss EAP 7 konsolidiert. Standardmäßig benutzt die JBoss EAP 7 Port 9990 sowohl für systemeigenes Management (vom Management CLI verwendet) und für HTTP Management (von Management-Konsole auf Web-Basis verwendet). Port 9999, der als systemeigener Management Port in der JBoss EAP 6 benutzt wurde, wird nicht mehr verwendet, kann aber nach wie vor auf Wunsch aktiviert werden.

Ist HTTPS für die Management-Konsole aktiviert, so wird standardmäßig Port 9993 benutzt.

2.4.2.2. Standard Socket-Bindungen

JBoss EAP ships with a socket binding group for each of the four predefined profiles (default, ha, full, full-ha).

Detaillierte Informationen zu den Socket-Bindungen, wie Standard-Ports und Beschreibungen, finden Sie im Abschnitt Standard Socket-Bindungen.

Wichtig

Wenn Sie die Standard-Netzwerkschnittstellen oder Ports, die JBoss EAP verwendet, ändern, müssen Sie zudem Scripts ändern, die die modifizierten Schnittstellen oder Ports verwenden. Hierzu gehören JBoss EA-Dienst-Scripts, und zudem müssen Sie daran denken, die richtige Schnittstelle und den Port anzugeben, wenn Sie auf die Managementkonsole oder die Management-CLI zugreifen.

Standalone-Server

Bei der Ausführung als Standalone-Server ist nur eine Gruppe von Socket-Bindungen pro Konfigurationsdatei definiert. Jede Standalone-Konfigurationsdatei (standalone.xml, standalone-ha.xml, standalone-full.xml, standalone-full-ha.xml) definiert Socket-Bindungen für die Technologien, die vom entsprechenden Profil verwendet werden.

Die standardmäßige Standalone-Konfigurationsdatei (standalone.xml) gibt zum Beispiel die unten angeführten Socket-Bindungen an.

<socket-binding-group name="standard-sockets" default-interface="public" port-offset="${jboss.socket.binding.port-offset:0}">
    <socket-binding name="management-http" interface="management" port="${jboss.management.http.port:9990}"/>
    <socket-binding name="management-https" interface="management" port="${jboss.management.https.port:9993}"/>
    <socket-binding name="ajp" port="${jboss.ajp.port:8009}"/>
    <socket-binding name="http" port="${jboss.http.port:8080}"/>
    <socket-binding name="https" port="${jboss.https.port:8443}"/>
    <socket-binding name="txn-recovery-environment" port="4712"/>
    <socket-binding name="txn-status-manager" port="4713"/>
    <outbound-socket-binding name="mail-smtp">
        <remote-destination host="localhost" port="25"/>
    </outbound-socket-binding>
</socket-binding-group>
Managed Domain

When running in a managed domain, all socket binding groups are defined in the domain.xml file. There are four predefined socket binding groups:

  • standard-sockets
  • ha-sockets
  • full-sockets
  • full-ha-sockets

Jede Socket-Bindung Gruppe gibt Socket-Bindungen für die Technologien an, die vom zugehörigen Profil verwendet werden. Zum Beispiel definiert die full-ha-sockets Socket-Bindung Gruppe mehrere jgroups Socket-Bindungen, welche vom full-ha Profil für Hochverfügbarkeit verwendet werden.

<socket-binding-groups>
    <socket-binding-group name="standard-sockets" default-interface="public">
        <!-- Needed for server groups using the 'default' profile  -->
        <socket-binding name="ajp" port="${jboss.ajp.port:8009}"/>
        <socket-binding name="http" port="${jboss.http.port:8080}"/>
        <socket-binding name="https" port="${jboss.https.port:8443}"/>
        <socket-binding name="txn-recovery-environment" port="4712"/>
        <socket-binding name="txn-status-manager" port="4713"/>
        <outbound-socket-binding name="mail-smtp">
            <remote-destination host="localhost" port="25"/>
        </outbound-socket-binding>
    </socket-binding-group>
    <socket-binding-group name="ha-sockets" default-interface="public">
        <!-- Needed for server groups using the 'ha' profile  -->
    ...
    </socket-binding-group>
    <socket-binding-group name="full-sockets" default-interface="public">
        <!-- Needed for server groups using the 'full' profile  -->
    ...
    </socket-binding-group>
    <socket-binding-group name="full-ha-sockets" default-interface="public">
        <!-- Needed for server groups using the 'full-ha' profile  -->
        <socket-binding name="ajp" port="${jboss.ajp.port:8009}"/>
        <socket-binding name="http" port="${jboss.http.port:8080}"/>
        <socket-binding name="https" port="${jboss.https.port:8443}"/>
        <socket-binding name="iiop" interface="unsecure" port="3528"/>
        <socket-binding name="iiop-ssl" interface="unsecure" port="3529"/>
        <socket-binding name="jgroups-mping" interface="private" port="0" multicast-address="${jboss.default.multicast.address:230.0.0.4}" multicast-port="45700"/>
        <socket-binding name="jgroups-tcp" interface="private" port="7600"/>
        <socket-binding name="jgroups-tcp-fd" interface="private" port="57600"/>
        <socket-binding name="jgroups-udp" interface="private" port="55200" multicast-address="${jboss.default.multicast.address:230.0.0.4}" multicast-port="45688"/>
        <socket-binding name="jgroups-udp-fd" interface="private" port="54200"/>
        <socket-binding name="modcluster" port="0" multicast-address="224.0.1.105" multicast-port="23364"/>
        <socket-binding name="txn-recovery-environment" port="4712"/>
        <socket-binding name="txn-status-manager" port="4713"/>
        <outbound-socket-binding name="mail-smtp">
            <remote-destination host="localhost" port="25"/>
        </outbound-socket-binding>
    </socket-binding-group>
</socket-binding-groups>
Anmerkung

Die Socket Konfiguration für die Verwaltungs-Schnittstellen ist in der host.xml Datei des Domain-Controllers definiert.

2.4.2.3. Konfigurieren von Socket-Bindungen

Bei der Definition einer Socket-Bindung können Sie sowohl port und interface Attribute konfigurieren, als auch Multicast Einstellungen wie multicast-address und multicast-port. Details zu allen verfügbaren Socket-Bindung Attributen finden Sie im Abschnitt Socket-Bindung Attribute.

Socket-Bindungen können über die Management-Konsole oder das Management CLI konfiguriert werden. Die folgenden Schritte helfen Ihnen beim Hinzufügen einer Socket-Bindungen Gruppe, beim Hinzufügen einer Socket-Bindung und beim Konfigurieren der Socket-Bindung Einstellungen über das Management CLI.

  1. Hinzufügen einer neuen Gruppe von Socket-Bindungen. Beachten Sie, dass dieser Schritt bei der Ausführung als Standalone-Server nicht durchgeführt werden kann.

    /socket-binding-group=new-sockets:add(default-interface=public)
  2. Hinzufügen eine Socket-Bindung.

    /socket-binding-group=new-sockets/socket-binding=new-socket-binding:add(port=1234)
  3. Socket-Bindung ändern um eine andere als die Standard-Schnittstelle zu verwenden, welche von der Socket-Bindung Gruppe festgelegt wird.

    /socket-binding-group=new-sockets/socket-binding=new-socket-binding:write-attribute(name=interface,value=unsecure)

Das folgende Beispiel zeigt, wie die XML Konfiguration aussehen könnte, nachdem die vorherigen Schritte durchgeführt wurden.

<socket-binding-groups>
    ...
    <socket-binding-group name="new-sockets" default-interface="public">
        <socket-binding name="new-socket-binding" interface="unsecure" port="1234"/>
    </socket-binding-group>
</socket-binding-groups>

2.4.2.4. Port Offsets

Ein Port Offset ist ein numerischer Offset-Wert, der zu allen Port Werten hinzugefügt wurde, die in der Gruppe von Socket-Bindungen für diesen Server angegeben wurden. Dies ermöglicht dem Server die in seiner Gruppe von Socket-Bindungen angegebenen Port Werte zu erben, wobei ein Offset sicherstellt, dass er nicht mit einem anderen Server auf demselben Host in Konflikt steht. Wenn zum Beispiel der HTTP Port der Gruppe von Socket-Bindungen 8080 ist und ein Server ein Port Offset von 100 benutzt, dann ist sein HTTP Port 8180.

Unten finden Sie ein Beispiel für die Einstellung eines Port Offsets von 250 für einen Server in einer Managed Domain unter Verwendung des Management CLI.

/host=master/server-config=server-two/:write-attribute(name=socket-binding-port-offset,value=250)

Port Offsets können für Server in einer Managed Domain verwendet werden, sowie für die Ausführung mehrerer Standalone-Server auf demselben Host.

Über die Eigenschaft jboss.socket.binding.port-offset können Sie beim Start eines Standalone-Servers einen Port-Offset übergeben.

$ EAP_HOME/bin/standalone.sh -Djboss.socket.binding.port-offset=100

2.4.3. IPv6 Adressen

JBoss EAP ist standardmäßig konfiguriert mit IPv4 Adressen zu laufen. Die Schritte unten helfen, die JBoss EAP zur Verwendung von IPv6 Adressen zu konfigurieren.

Konfigurieren von JVM-Stack für IPv6-Adressen

Aktualisieren der Startkonfiguration zur Bevorzugung von IPv6 Adressen.

  1. Öffnen Sie die Start-Konfigurationsdatei.

    • Bei der Ausführung als Standalone-Server bearbeiten Sie die EAP_HOME/bin/standalone.conf Datei (oder standalone.conf.bat für Windows Server).
    • Bei der Ausführung in einer Managed Domain bearbeiten Sie die EAP_HOME/bin/domain.conf Datei (oder domain.conf.bat für Windows Server).
  2. Setzen Sie die java.net.preferIPv4Stack Eigenschaft auf false.

    -Djava.net.preferIPv4Stack=false
  3. Fügen Sie die java.net.preferIPv6Addresses Eigenschaft an und setzen Sie sie auf true.

    -Djava.net.preferIPv6Addresses=true

Das folgende Beispiel zeigt, wie die JVM-Optionen in der Start-Konfigurationsdatei nach den oben beschriebenen Änderungen aussehen könnte.

# Specify options to pass to the Java VM.
#
if [ "x$JAVA_OPTS" = "x" ]; then
   JAVA_OPTS="-Xms1303m -Xmx1303m -Djava.net.preferIPv4Stack=false"
   JAVA_OPTS="$JAVA_OPTS -Djboss.modules.system.pkgs=$JBOSS_MODULES_SYSTEM_PKGS -Djava.awt.headless=true"
   JAVA_OPTS="$JAVA_OPTS -Djava.net.preferIPv6Addresses=true"
else
Aktualisieren der Schnittstellen-Deklarationen für IPv6 Adressen

Die standardmäßigen Schnittstellen-Werte in der Konfiguration können auf IPv6 Adressen geändert werden. Der Management CLI Befehl unten setzt zum Beispiel die management Schnittstelle auf IPv6 Loopback-Adressen (::1).

/interface=management:write-attribute(name=inet-address,value="${jboss.bind.address.management:[::1]}")

Das folgende Beispiel zeigt, wie die XML Konfiguration nach Ausführung des Befehls oben aussehen könnte.

<interfaces>
    <interface name="management">
        <inet-address value="${jboss.bind.address.management:[::1]}"/>
    </interface>
    ....
</interfaces>