Red Hat Training

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

Kapitel 4. Konfigurieren der JBoss EAP zur Ausführung als Dienst

4.1. Konfigurieren der JBoss EAP als Dienst in Red Hat Enterprise Linux (Zip und Installer-Installation)

Voraussetzungen

  • Installieren Sie die JBoss EAP als ZIP oder als Installer Installation.
  • Administrationsberechtigungen auf dem Server.

Konfigurieren der JBoss EAP als Dienst in Red Hat Enterprise Linux

  1. Passen Sie die Startup-Optionen in der jboss-eap.conf Datei an.

    Das Startup-Skript und eine zugehörige Konfigurationsdatei befinden sich im EAP_HOME/bin/init.d/ Verzeichnis. Öffnen Sie jboss-eap.conf in einem Text-Editor und bestimmen Sie die Optionen für Ihre JBoss EAP Installation.

    Es gibt mehrere Optionen in der jboss-eap.conf Datei, Sie müssen jedoch mindestens die korrekten Werte für JBOSS_HOME und den JBOSS_USER angeben.

    Sie können die anderen in der Konfigurationsdatei angebotenen Optionen anpassen, aber wenn Sie das nicht tun, wird standardmäßig ein Standalone JBoss EAP Server unter Verwendung der Standard-Konfigurationsdatei gestartet.

    Anmerkung

    Wenn Sie möchten, dass der Dienst die JBoss EAP im Domain-Modus startet, fügen Sie JBOSS_MODE=domain zu jboss-eap.conf hinzu.

  2. Kopieren Sie die Dienstdateien in die Systemverzeichnisse.

    1. Kopieren Sie die bearbeitete Dienst-Konfigurationsdatei ins /etc/default Verzeichnis.

      sudo cp EAP_HOME/bin/init.d/jboss-eap.conf /etc/default
    2. Kopieren Sie das Dienst-Startup-Skript ins /etc/init.d Verzeichnis und erteilen Sie ihm Ausführungsberechtigungen:

      sudo cp EAP_HOME/bin/init.d/jboss-eap-rhel.sh /etc/init.d
      sudo chmod +x /etc/init.d/jboss-eap-rhel.sh
  3. Fügen Sie den neuen Dienst jboss-eap-rhel.sh zu der Liste von automatisch gestarteten Diensten mit dem Dienstverwaltungs-Befehl chkconfig hinzu:

    sudo chkconfig --add jboss-eap-rhel.sh
  4. Testen Sie mit einem der folgenden Befehle, ob der Dienst korrekt installiert wurde.

    1. Für Red Hat Enterprise Linux 6:

      sudo service jboss-eap-rhel.sh start
    2. Für Red Hat Enterprise Linux 7:

      sudo service jboss-eap-rhel start

    Der Dienst wird gestartet. Falls Ihnen ein Fehler gemeldet wird, überprüfen Sie die Fehlerprotokolle und vergewissern Sie sich, dass die Optionen in der Konfigurationsdatei korrekt eingestellt sind.

  5. Benutzen Sie folgenden Befehl, um den Dienst beim Start des Red Hat Enterprise Linux Servers automatisch zu starten:

    sudo chkconfig jboss-eap-rhel.sh on

Benutzen Sie folgendes Verfahren, um den JBoss EAP Dienst zu entfernen.

Entfernen des JBoss EAP Dienstes bei Red Hat Enterprise Linux

  1. Falls der Dienst gerade läuft, öffnen Sie zuerst ein Terminal und halten Sie den Dienst mit einem der folgenden Befehle an.

    1. Für Red Hat Enterprise Linux 6:

      sudo service jboss-eap-rhel.sh stop
    2. Für Red Hat Enterprise Linux 7:

      sudo service jboss-eap-rhel stop
  2. Entfernen Sie die JBoss EAP aus der Liste von Diensten:

    sudo chkconfig --del jboss-eap-rhel.sh
  3. Löschen Sie das Startup-Skript und die Konfigurationsdatei des Dienstes:

    sudo rm /etc/init.d/jboss-eap-rhel.sh
    sudo rm /etc/default/jboss-eap.conf

4.2. Konfiguration von JBoss EAP As-a-Service in Red Hat Enterprise Linux (RPM-Installation)

Voraussetzungen

  • Installieren Sie die JBoss EAP als RPM-Installation.
  • Administrationsberechtigungen auf dem Server.

Eine RPM-Installation von JBoss EAP installiert alles, was für die Ausführung von JBoss EAP As-a-Service nötig ist. Verwenden Sie einen der folgenden Befehle, um den JBoss EAP Service automatisch bei Systemstart zu starten.

Für einen Standalone Server:

chkconfig eap7-standalone on

Für eine Managed Domain:

chkconfig eap7-domain on

Informationen zum Starten oder Anhalten einer RPM-Installation von JBoss EAP auf Abruf finden Sie in den RPM-Anweisungen im JBoss EAP Konfigurationshandbuch.

Anmerkung

Weitere Details und Optionen finden Sie im Appendix der Konfigurationsdateien für den RPM-Dienst im JBoss EAP Konfigurationshandbuch.

4.3. Konfigurieren der JBoss EAP As-a-Service im Microsoft Windows Server

Voraussetzungen

  • Installieren Sie die JBoss EAP als ZIP oder als Installer Installation.
  • Administrationsberechtigungen auf dem Server.
  • Die Systemumgebungsvariable JAVA_HOME muss festgelegt sein.
  • Die JBoss EAP Serverinstanz darf nicht laufen.
Wichtig

Wenn Sie den set-Befehl zur Einstellung von System-Umgebungsvariablen an der Eingabeaufforderung eines Windows Servers verwenden, wird die Umgebungsvariable nicht dauerhaft eingestellt. Verwenden Sie entweder den setx-Befehl, oder die System-Schnittstelle in der Systemsteuerung.

Konfigurieren der JBoss EAP As-a-Service im Microsoft Windows Server

  1. Erstellen Sie zwei System-Umgebungsvariablen:

    • JBOSS_HOME zeigt auf das JBoss EAP Installationsverzeichnis.
    • NOPAUSE=1
  2. Installieren Sie das JBoss Core Services Jsvc Paket

    Falls nicht bereits konfiguriert, laden Sie das JBoss Core Services Jsvc Paket herunter und entpacken Sie es.

    1. Öffnen Sie einen Browser und melden Sie sich beim Red Hat Kundenportal an unter JBoss Software Downloads.
    2. Wählen Sie Apache Jsvc in der Auswahlliste für Produkte.
    3. Wählen Sie die neuste Version auf der Auswahlliste.
    4. Gehen Sie zu Red Hat JBoss Core Services Apache Jsvc auf der Liste und stellen Sie sicher, dass Sie die richtige Plattform und Architektur für Ihr System ausgewählt haben. Klicken Sie dann auf den Download-Link.
    5. Entpacken Sie die heruntergeladene ZIP-Datei in das Verzeichnis, das Ihr JBoss EAP Installationsverzeichnis enthält.

      Daraus entsteht ein jbcs-jsvc-<VERSION> Verzeichnis auf derselben Ebene, wie Ihr JBoss EAP Installationsverzeichnis. Zum Beispiel:

      C:\Program Files
      ├── jboss-eap-7.0
      │   ├── bin
      │   └── ...
      └── jbcs-jsvc-<VERSION>
  3. Service-Installation

    Öffnen Sie eine Befehlszeile und ändern Sie Verzeichnisse zu EAP_HOME\bin.

    Nachfolgend sehen Sie Beispiele für einen einfachen service.bat install Befehl zur Erstellung eines neuen Dienstes, entweder für einen Standalone Server oder einen Server in einer Managed Domain. Für eine Liste aller möglichen Optionen führen Sie service.bat ohne Argumente aus.

    Führen Sie folgenden Befehl aus und passen Sie dabei die Protokollierungsebene für den Dienst entsprechend an:

    1. Für einen Standalone Server:

      service.bat install /loglevel INFO
    2. Für einen Server in einer Managed Domain:

      Falls Sie nicht den Standard-Master für Ihren JBoss EAP Domain Controller verwenden, ersetzen Sie Master durch den korrekten Hostnamen oder Alias des JBoss EAP Domain Controllers.

      service.bat install /host master /loglevel INFO

    Ein neuer Windowsdienst mit dem Namen JBossEAP7 wird erstellt.

  4. Verifizieren Sie den neuen Dienst in der Services-Konsole

    Öffnen Sie die Windows Services-Konsole (services.msc) und überprüfen Sie, ob der Dienst erstellt wurde.

    Wurde der standardmäßige Dienstname in der Liste der Windows-Dienste verwendet, so lautet der angezeigte Name des neuen Dienstes: JBossEAP7. Sie können den Dienst von der Services-Konsole aus starten und anhalten, sowie die Einstellungen ändern, wie und wann er gestartet wird.

  5. Starten und Anhalten des JBoss EAP Dienstes von einem Terminal aus

    Starten Sie den Dienst von einem Terminal aus mit dem folgenden Befehl, ändern Sie gegebenenfalls den Dienstnamen:

    net start JBossEAP7

    Halten Sie den Dienst von einem Terminal aus mit dem folgenden Befehl an, ändern Sie gegebenenfalls den Dienstnamen:

    net stop JBossEAP7

Benutzen Sie folgendes Verfahren, um den JBoss EAP Dienst zu entfernen.

Entfernen des JBoss EAP Services im Microsoft Windows Server

  1. Falls der Dienst läuft, öffnen Sie zuerst ein Terminal und stoppen Sie den Dienst, indem Sie den Befehl net stop mit dem Namen des Dienstes ausführen:

    net stop JBossEAP7
  2. Öffnen Sie eine Befehlszeile, ändern Sie Verzeichnisse zu EAP_HOME\bin und führen Sie den folgenden Befehl aus:

    service.bat uninstall

4.4. Konfigurieren Sie die JBoss EAP As-a-Service mittels Jsvc

Mit dem Paket »JBoss Core Services« von Jsvc kann die JBoss EAP als Background-Service auf Red Hat Enterprise Linux und Solaris ausgeführt werden.

Anmerkung

Auf Red Hat Enterprise Linux empfehlen wir die Verwendung von systemeigenen Methoden zur Ausführung von JBoss EAP As-a-Service.

Jsvc ist ein Set von Bibliotheken und Applikationen, mit denen Java-Applikationen auf UNIX-ähnlichen Plattformen als Background-Service laufen können. Durch Jsvc kann eine Applikation Vorgänge als privilegierter Benutzer ausführen und dann die Identität zu einem nicht privilegierten Benutzer ändern.

Jsvc benutzt drei Prozesse: einen Startprozess, einen Controller-Prozess und einen kontrollierten Prozess. Der kontrollierte Prozess ist zudem der Haupt-Java-Thread. Falls die JVM abstürzt, startet der Controller-Prozess innerhalb 60 Sekunden. Jsvc ist ein Daemon-Prozess und für JBoss EAP muss er von einem privilegierten Benutzer gestartet werden.

Installieren Sie das JBoss Core Services Jsvc Paket

  • Für ZIP oder Installer-Installationen:
  1. Öffnen Sie einen Browser und melden Sie sich beim Red Hat Kundenportal an unter JBoss Software Downloads.
  2. Wählen Sie Apache Jsvc in der Auswahlliste für Produkte.
  3. Wählen Sie die neuste Version auf der Auswahlliste.
  4. Gehen Sie zu Red Hat JBoss Core Services Apache Jsvc auf der Liste und stellen Sie sicher, dass Sie die richtige Plattform und Architektur für Ihr System ausgewählt haben. Klicken Sie dann auf den Download-Link.
  5. Entpacken Sie die heruntergeladene ZIP-Datei in das Verzeichnis, das Ihr JBoss EAP Installationsverzeichnis enthält.

    Daraus entsteht ein jbcs-jsvc-<VERSION> Verzeichnis auf derselben Ebene, wie Ihr JBoss EAP Installationsverzeichnis. Zum Beispiel:

    /var/opt/
    ├── jboss-eap-7.0
    │   ├── bin
    │   └── ...
    └── jbcs-jsvc-<VERSION>
  6. Die Befehlbeispiele für den Start von JBoss EAP mittels Jsvc setzen voraus, dass ein jboss-Benutzer erstellt wurde. Falls Sie noch keinen Benutzer für JBoss EAP erstellt haben, können Sie mit folgenden Befehlen Benutzer und Gruppe für jboss erstellen:

    # groupadd -f -g 185 -r jboss
    # useradd -r -u 185 -g jboss -d EAP_HOME -s /sbin/nologin -c "JBoss" jboss
  • Für RPM-Installationen bei Red Hat Enterprise Linux:
  1. Melden Sie sich beim Red Hat Subscription Manager an.
  2. Klicken Sie auf Systeme im Subskribenteninventar.
  3. Abonnieren Sie die JBoss Core Services CDN Repositories für die Version und Architektur Ihres Betriebssystems:

    1. Für Red Hat Enterprise Linux 6:

      • jb-coreservices-1-for-rhel-6-server-rpms
    2. Für Red Hat Enterprise Linux 7:

      • jb-coreservices-1-for-rhel-7-server-rpms
  4. Führen Sie folgenden Befehl als Root aus, um Jsvc zu installieren:

    # yum groupinstall jbcs-jsvc

Mittels Jsvc die JBoss EAP als Standalone Server starten

Die folgenden Befehle werden verwendet, um die JBoss EAP im Standalone-Modus über Jsvc zu starten und zu stoppen. Die Tabellen zeigen die Pfade an, die für die Befehle für eine ZIP/Installer-Installation oder für eine RPM-Installation benötigt werden.

Tabelle 4.1. Speicherort der Jsvc-Datei für ZIP/Installer-Installationen - Standalone Server

Dateireferenz in der AnleitungSpeicherort der Datei

JSVC_BIN

EAP_HOME/../jbcs-jsvc-<VERSION>/sbin/jsvc

JSVC_JAR

EAP_HOME/../jbcs-jsvc-<VERSION>/lib/commons-daemon.jar

CONF_DIR

EAP_HOME/standalone/configuration

LOG_DIR

EAP_HOME/standalone/log

Tabelle 4.2. Speicherorte der Jsvc Datei für RPM-Installationen - Standalone Server

Dateireferenz in der AnleitungSpeicherort der Datei

JSVC_BIN

/usr/bin/jbcs-jsvc/jsvc

JSVC_JAR

/usr/bin/jbcs-jsvc/commons-daemon.jar

CONF_DIR

/opt/rh/eap7/root/usr/share/wildfly/standalone/configuration

LOG_DIR

/opt/rh/eap7/root/usr/share/wildfly/standalone/log

Start eines Standalone JBoss EAP Servers mittels Jsvc:

JSVC_BIN \
 -outfile LOG_DIR/jsvc.out.log   \
 -errfile LOG_DIR/jsvc.err.log   \
 -pidfile LOG_DIR/jsvc.pid  \
 -user jboss \
 -D[Standalone] -XX:+UseCompressedOops -Xms1303m \
 -Xmx1303m -XX:MaxPermSize=256m \
 -Djava.net.preferIPv4Stack=true \
 -Djboss.modules.system.pkgs=org.jboss.byteman \
 -Djava.awt.headless=true \
 -Dorg.jboss.boot.log.file=LOG_DIR/server.log \
 -Dlogging.configuration=file:CONF_DIR/logging.properties \
 -Djboss.modules.policy-permissions \
 -cp EAP_HOME/jboss-modules.jar:JSVC_JAR \
 -Djboss.home.dir=EAP_HOME \
 -Djboss.server.base.dir=EAP_HOME/standalone   \
 @org.jboss.modules.Main -start-method main \
 -mp EAP_HOME/modules \
 -jaxpmodule javax.xml.jaxp-provider \
 org.jboss.as.standalone

Anhalten eines Standalone JBoss EAP Servers mittels Jsvc:

JSVC_BIN \
 -stop \
 -outfile LOG_DIR/jsvc.out.log   \
 -errfile LOG_DIR/jsvc.err.log   \
 -pidfile LOG_DIR/jsvc.pid  \
 -user jboss \
 -D[Standalone] -XX:+UseCompressedOops -Xms1303m \
 -Xmx1303m -XX:MaxPermSize=256m \
 -Djava.net.preferIPv4Stack=true \
 -Djboss.modules.system.pkgs=org.jboss.byteman \
 -Djava.awt.headless=true \
 -Dorg.jboss.boot.log.file=LOG_DIR/server.log \
 -Dlogging.configuration=file:CONF_DIR/logging.properties \
 -Djboss.modules.policy-permissions \
 -cp EAP_HOME/jboss-modules.jar:JSVC_JAR \
 -Djboss.home.dir=EAP_HOME \
 -Djboss.server.base.dir=EAP_HOME/standalone   \
 @org.jboss.modules.Main -start-method main \
 -mp EAP_HOME/modules \
 -jaxpmodule javax.xml.jaxp-provider \
 org.jboss.as.standalone

Start einer JBoss EAP Managed Domain mittels Jsvc

Die folgenden Befehle werden verwendet, um eine JBoss EAP als Managed Domain über Jsvc zu starten und zu stoppen. Die nachfolgenden Tabellen zeigen die Pfade an, die für die Befehle für eine ZIP/Installer-Installation oder für eine RPM-Installation benötigt werden.

Tabelle 4.3. Speicherorte der Jsvc-Datei für ZIP/Installer-Installationen - Managed Domain

Dateireferenz in der AnleitungSpeicherort der Datei

JSVC_BIN

EAP_HOME/../jbcs-jsvc-<VERSION>/sbin/jsvc

JSVC_JAR

EAP_HOME/../jbcs-jsvc-<VERSION>/lib/commons-daemon.jar

CONF_DIR

EAP_HOME/domain/configuration

LOG_DIR

EAP_HOME/domain/log

Tabelle 4.4. Speicherort der Jsvc-Datei für RPM-Installationen - Managed Domain

Dateireferenz in der AnleitungSpeicherort der Datei

JSVC_BIN

/usr/bin/jbcs-jsvc/jsvc

JSVC_JAR

/usr/bin/jbcs-jsvc/commons-daemon.jar

CONF_DIR

/opt/rh/eap7/root/usr/share/wildfly/domain/configuration

LOG_DIR

/opt/rh/eap7/root/usr/share/wildfly/domain/log

Stellen Sie vor dem Ausführen des folgenden Befehls sicher, dass die JAVA_HOME System-Umgebungsvariable angegeben ist.

Start einer JBoss EAP Managed Domain mittels Jsvc:

JSVC_BIN \
 -outfile LOG_DIR/jsvc.out.log   \
 -errfile LOG_DIR/jsvc.err.log   \
 -pidfile LOG_DIR/jsvc.pid  \
 -user jboss \
 -nodetach -D"[Process Controller]" -server -Xms64m \
 -Xmx512m -XX:MaxPermSize=256m \
 -Djava.net.preferIPv4Stack=true  \
 -Djboss.modules.system.pkgs=org.jboss.byteman \
 -Djava.awt.headless=true  \
 -Dorg.jboss.boot.log.file=LOG_DIR/process-controller.log \
 -Dlogging.configuration=file:CONF_DIR/logging.properties \
 -Djboss.modules.policy-permissions \
 -cp "EAP_HOME/jboss-modules.jar:JSVC_JAR" \
 org.apache.commons.daemon.support.DaemonWrapper \
 -start org.jboss.modules.Main -start-method main \
 -mp EAP_HOME/modules org.jboss.as.process-controller \
 -jboss-home EAP_HOME -jvm "${JAVA_HOME}"/bin/java \
 -mp EAP_HOME/modules -- \
 -Dorg.jboss.boot.log.file=LOG_DIR/host-controller.log \
 -Dlogging.configuration=file:CONF_DIR/logging.properties \
 -Djboss.modules.policy-permissions \
 -server -Xms64m -Xmx512m -XX:MaxPermSize=256m \
 -Djava.net.preferIPv4Stack=true \
 -Djboss.modules.system.pkgs=org.jboss.byteman \
 -Djava.awt.headless=true -- -default-jvm "${JAVA_HOME}"/bin/java \
&

Anhalten einer JBoss EAP Managed Domain mittels Jsvc:

JSVC_BIN \
 -stop \
 -outfile LOG_DIR/jsvc.out.log   \
 -errfile LOG_DIR/jsvc.err.log   \
 -pidfile LOG_DIR/jsvc.pid  \
 -user jboss \
 -nodetach -D"[Process Controller]" -server -Xms64m \
 -Xmx512m -XX:MaxPermSize=256m \
 -Djava.net.preferIPv4Stack=true  \
 -Djboss.modules.system.pkgs=org.jboss.byteman \
 -Djava.awt.headless=true  \
 -Dorg.jboss.boot.log.file=LOG_DIR/process-controller.log \
 -Dlogging.configuration=file:CONF_DIR/logging.properties \
 -Djboss.modules.policy-permissions \
 -cp "EAP_HOME/jboss-modules.jar:JSVC_JAR" \
 org.apache.commons.daemon.support.DaemonWrapper \
 -start org.jboss.modules.Main -start-method main \
 -mp EAP_HOME/modules org.jboss.as.process-controller \
 -jboss-home EAP_HOME -jvm $JAVA_HOME/bin/java \
 -mp EAP_HOME/modules -- \
 -Dorg.jboss.boot.log.file=LOG_DIR/host-controller.log \
 -Dlogging.configuration=file:CONF_DIR/logging.properties \
 -Djboss.modules.policy-permissions \
 -server -Xms64m -Xmx512m -XX:MaxPermSize=256m \
 -Djava.net.preferIPv4Stack=true \
 -Djboss.modules.system.pkgs=org.jboss.byteman \
 -Djava.awt.headless=true -- -default-jvm $JAVA_HOME/bin/java