Wie installiere ich WildFly Application Server mit Nginx Reverse Proxy unter Debian 12?

WildFly, ehemals JBoss, ist ein kostenloser und quelloffener Anwendungsserver, mit dem du Java-Webanwendungen erstellen und einsetzen kannst. Er ist in Java geschrieben und mit den Spezifikationen der Java EE (Enterprise Edition) konform. WildFly wurde von JBoss entwickelt, wird jetzt aber von RedHat weiterentwickelt. Es ist ein leistungsstarker, produktionsreifer, modularer und schlanker Anwendungsserver, der alle notwendigen Werkzeuge und Funktionen für die Ausführung und Bereitstellung von Java-Webanwendungen bietet.

WildFly ist ein plattformübergreifender Anwendungsserver, der Tools für Java-Anwendungen wie EJBs, JPA, Servlets, JAX-RS, Batch und Sicherheit bietet.

In dieser Anleitung lernst du Schritt für Schritt, wie du WildFly oder JBoss Application Runtime auf einem Debian 12 Server installierst. Du installierst WildFly, aktivierst die Verwaltungskonsole, erstellst einen WildFly-Admin-Benutzer und installierst und konfigurierst Nginx als Reverse Proxy.

Voraussetzungen

Bevor du fortfährst, solltest du die folgenden Voraussetzungen erfüllen:

  • Einen Debian 12-Server mit 4 GB oder mehr Arbeitsspeicher.
  • Einen Nicht-Root-Benutzer mit sudo-Administrator-Rechten.

Installation von Java OpenJDK

WildFly ist eine flexible und leichtgewichtige Java-Laufzeitumgebung für die Erstellung von Anwendungen. In diesem Abschnitt wirst du Java OpenJDK 17 installieren und verwenden, um WildFly auf deinem Debian-Server zu installieren.

Führe zunächst den folgenden Befehl aus, um dein Debian-Repository zu aktualisieren.

sudo apt update

Installiere nun das Java OpenJDK-Paket, indem du den folgenden Befehl ausführst. Dadurch wird das Paket default-jdk installiert, das der Java OpenJDK 17 LTS (Long Term Supports) Version entspricht.

sudo apt install default-jdk

Gib y ein, um mit der Installation fortzufahren.

java openjdk installieren

Nachdem du Java installiert hast, überprüfe die Java-Version mit dem unten stehenden Befehl. Du solltest sehen, dass Java OpenJDK 17 installiert ist.

java -version

Java-Version prüfen

Installieren und Konfigurieren von WildFly

Nachdem du Java OpenJDK installiert hast, kannst du mit der Installation von WildFly beginnen, indem du die folgenden Aufgaben erledigst:

  • Hinzufügen von WildFly-Benutzer und -Gruppe
  • Herunterladen des WildFly-Binärpakets
  • Konfigurieren der WildFly-Installation
  • Ausführen von WildFly als Systemd-Dienst

Fangen wir an.

Hinzufügen von wildfly-Benutzer und -Gruppe

Zunächst erstellst du einen neuen Systembenutzer und eine neue Gruppe wildfly, die für die Ausführung deiner WildFly-Installation verwendet werden.

Führe den folgenden Befehl aus, um eine neue Gruppe und einen neuen Benutzer mit dem Namen wildfly hinzuzufügen, indem du den folgenden Befehl ausführst. Damit legst du auch das Standard-Home-Verzeichnis für wildfly-Benutzer auf /opt/wildfly fest, das als WildFly-Installationsverzeichnis verwendet werden soll.

sudo groupadd -r wildfly
sudo useradd -r -g wildfly -d /opt/wildfly -s /sbin/nologin wildfly

Herunterladen des WildFly-Binärpakets

Nachdem du einen systemd-Benutzer hinzugefügt hast, lädst du das WildFly-Binärpaket mit wget herunter. Besuche unbedingt die WildFly-Downloadseite, um die neueste Version zu erhalten.

Vorher installierst du unzip mit dem folgenden apt-Befehl.

sudo apt install unzip -y

Danach besuche die WildFly-Downloadseite und kopiere den Link zur neuesten Version von WildFly. Lade das WildFly-Binärpaket mit dem wget-Befehl wie folgt herunter. In diesem Beispiel wirst du WildFly 30.0.0 installieren.

wget https://github.com/wildfly/wildfly/releases/download/30.0.0.Final/wildfly-30.0.0.Final.zip

Als nächstes entpackst du das WildFly-Binärpaket und verschiebst das entpackte Verzeichnis nach /opt/wildfly.

unzip wildfly-30.0.0.Final.zip
sudo mv wildfly-30.0.0.Final /opt/wildfly

Zum Schluss führst du den folgenden Befehl aus, um den Besitzer des Verzeichnisses /opt/wildfly auf den Benutzer wildfly zu ändern.

sudo chown -RH wildfly: /opt/wildfly

Konfigurieren der WildFly-Installation

In diesem Beispiel installierst du WildFly auf einem einzelnen Rechner im Standalone-Modus. Daher bezieht sich jede Konfiguration, die du hier änderst, auf die WildFly-Standalone-Konfigurationen.

Starte den folgenden nano-Editor-Befehl, um die Datei /opt/wildfly/bin/standalone.conf zu öffnen.

sudo nano /opt/wildfly/bin/standalone.conf

Ändere den Wert Xmx512m in der Umgebungsvariablen JBOSS_JAVA_SIZING, um die standardmäßige maximale Heap-Speichergröße von WildFly zu erhöhen, wie folgt.

Achte darauf, dass du die maximale Heap-Speichergröße an deinen aktuellen Server anpasst. Im folgenden Beispiel wird der maximale Heap-Speicher auf 4 GB gesetzt.

  JBOSS_JAVA_SIZING="-Xms64m -Xmx4096m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m"

Speichere und beende die Datei, wenn du fertig bist.

Wildfly Heap-Speicher einrichten

Erstelle nun ein neues Konfigurationsverzeichnis /etc/wildfly mit dem folgenden Befehl.

sudo mkdir -p /etc/wildfly

Kopiere die WildFly-Konfigurationsdatei nach /etc/wildfly/wildfly.conf und öffne sie mit dem folgenden nano-Editor-Befehl.

sudo cp /opt/wildfly/docs/contrib/scripts/systemd/wildfly.conf /etc/wildfly/
sudo nano /etc/wildfly/wildfly.conf

Ändere den Standardwert WILDFLY_BIND in 127.0.0.1 und füge eine Variable WILDFLY_CONSOLE_BIND hinzu, um die Verwaltung der WildFly-Konsole zu ermöglichen. Sowohl WildFly als auch die Verwaltungskonsole werden auf localhost laufen.

# The address to bind to
WILDFLY_BIND=127.0.0.1

# Enable Admin
WILDFLY_CONSOLE_BIND=127.0.0.1

Wenn du fertig bist, speichere und beende die Datei.

wildfly standalone ausführen

Als Nächstes kopierst du das WildFly-Launch-Skript nach /opt/wildfly/bin/launch.sh und machst es mit dem folgenden chmod-Befehl ausführbar

sudo cp /opt/wildfly/docs/contrib/scripts/systemd/launch.sh /opt/wildfly/bin/
sudo chmod +x /opt/wildfly/bin/*.sh

Öffne das WildFly-Startskript /opt/wildfly/bin/launch.sh mit dem folgenden Befehl des nano-Editors.

sudo nano /opt/wildfly/bin/launch.sh

Füge die neue Befehlsoption„-bmanagement $4“ ein, um die WildFly-Administrationskonsole wie folgt zu aktivieren.

if [[ "$1" == "domain" ]]; then
    $WILDFLY_HOME/bin/domain.sh -c $2 -b $3 -bmanagement $4
else
    $WILDFLY_HOME/bin/standalone.sh -c $2 -b $3 -bmanagement $4
fi

Speichere und schließe die Datei, wenn du fertig bist.

Admin-Management aktivieren

Zum Schluss führst du den folgenden Befehl aus, um das WildFly-Installationsverzeichnis /opt/wildfly dem Benutzer wildfly zuzuordnen.

sudo chown -RH wildfly: /opt/wildfly

Ausführen von WildFly als Systemd-Dienst

Nachdem du WildFly als Standalone-Modus konfiguriert hast, richtest du eine Systemd-Service-Datei für WildFly ein. Damit kannst du WIldFly im Hintergrund laufen lassen und WildFly einfach über das Dienstprogramm systemctl verwalten.

Kopiere die systemd-Dienstdatei für WildFly nach /etc/systemd/system/wildfly.service und ändere sie mit dem unten stehenden nano-Editor-Befehl.

sudo cp /opt/wildfly/docs/contrib/scripts/systemd/wildfly.service /etc/systemd/system/
sudo nano /etc/systemd/system/wildfly.service

Füge in der Option ExecStart einen neuen Startparameter $WILDFLY_CONSOLE_BIND hinzu, um die WildFly-Admin-Konsole zu aktivieren.

ExecStart=/opt/wildfly/bin/launch.sh $WILDFLY_MODE $WILDFLY_CONFIG $WILDFLY_BIND $WILDFLY_CONSOLE_BIND

Wenn du fertig bist, speichere die Datei und beende den Editor.

Konsole aktivieren

Als nächstes führst du den folgenden systemctl-Befehl aus, um den systemd-Manager neu zu laden.

sudo systemctl daemon-reload

Starte und aktiviere dann den Wildfly-Dienst mit dem unten stehenden Befehl.

sudo systemctl start wildfly
sudo systemctl enable wildfly

wildfly systemd

Überprüfe den wildfly-Dienst, um sicherzustellen, dass der Dienst läuft, indem du den folgenden Befehl ausführst.

sudo systemctl status wildfly

Wenn der wildfly-Dienst läuft, wird die folgende Ausgabe angezeigt.

Wildfliegendienst

Du kannst auch die Liste der offenen Ports auf deinem System überprüfen, indem du den folgenden Befehl ausführst.

ss -antpl | grep -i java

Du solltest mehrere Ports 8080, 8443 und 9990 sehen, die WildFly verwendet.

Wildfly-Port überprüfen

Hinzufügen der WildFly-Benutzerverwaltung

Nach der Installation von WildFly erstellst du mit dem Skript /opt/wildfly/bin/add-user.sh einen neuen Admin-Benutzer für WildFly.

Führe das Skript /opt/wildfly/bin/add-user.sh wie folgt aus.

sh /opt/wildfly/bin/add-user.sh

Nun wirst du mit der folgenden Frage konfrontiert:

  • Gib a ein, um einen neuen WildFly-Verwaltungsbenutzer zu erstellen.
  • Gib deinen Admin-Benutzer und dein Passwort ein und wiederhole das Ganze dann.
  • Drücke ENTER, wenn du nach der Gruppenkonfiguration gefragt wirst.
  • Gib ja ein, um deinen Benutzer zum ManagementRealm hinzuzufügen.

Sobald der Vorgang abgeschlossen ist, solltest du sehen, dass dein neuer Benutzer zur WildFly-Konfiguration hinzugefügt wurde.

Admin-Benutzer hinzufügen

Nginx als Reverse Proxy einrichten

Jetzt hast du die WildFLy-Installation abgeschlossen, die Verwaltungskonsole aktiviert und den Benutzer admin erstellt. Im nächsten Schritt installierst du Nginx und konfigurierst es als Reverse Proxy für WildFly.

Führe den folgenden apt-Befehl aus, um Nginx auf deinem Debian-Server zu installieren. Gib y ein, um mit der Installation fortzufahren.

sudo apt install nginx

nginx installieren

Sobald Nginx installiert ist, musst du es als Reverse Proxy für WildFly konfigurieren.

Erstelle eine neue Nginx Proxy-Header-Konfiguration /etc/nginx/conf.d/proxy_headers.conf mit dem unten stehenden nano-Editor-Befehl.

sudo nano /etc/nginx/conf.d/proxy_headers.conf

Füge die folgende Konfiguration in die Datei ein.

```
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Proto $scheme;
add_header Front-End-Https on;
add_header Cache-Control no-cache;
```

Speichere und beende die Datei, wenn du fertig bist.

Starte als Nächstes den folgenden nano-Editor-Befehl, um eine neue Nginx-Serverblock-Konfiguration /etc/nginx/sites-available/wildfly zu erstellen.

sudo nano /etc/nginx/sites-available/wildfly

Füge die folgende Konfiguration ein, um Nginx als Reverse-Proxy für deine WildFly-Installation einzurichten. Achte darauf, dass du die Domain in der Option server_name änderst, du kannst einen lokalen Domainnamen verwenden.

server {
    listen          80;
    server_name     wildfly.hwdomain.io;
location / {
include conf.d/proxy_headers.conf;
proxy_pass http://127.0.0.1:8080;
}

location /management {
include conf.d/proxy_headers.conf;
proxy_pass http://127.0.0.1:9990/management;
}

location /console {
include conf.d/proxy_headers.conf;
proxy_pass http://127.0.0.1:9990/console;
}

location /logout {
include conf.d/proxy_headers.conf;
proxy_pass http://127.0.0.1:9990/logout;
}

location /error {
include conf.d/proxy_headers.conf;
proxy_pass http://127.0.0.1:9990;
}
}

Speichere und schließe die Datei, wenn du fertig bist.

Führe nun den folgenden Befehl aus, um die virtuelle Hostdatei wildfly zu aktivieren und deine Nginx-Syntax zu überprüfen.

sudo ln -s /etc/nginx/sites-available/wildfly /etc/nginx/sites-enabled/
sudo nginx -t

Wenn du eine korrekte Nginx-Syntax hast, wird die Ausgabe „syntax is ok-test is successful“ angezeigt.

nginx-Einrichtung

Zum Schluss führst du den folgenden Befehl aus, um den Nginx-Dienst neu zu starten und die vorgenommenen Änderungen zu übernehmen. Überprüfe dann den Nginx-Dienst, um sicherzustellen, dass er läuft.

sudo systemctl restart nginx
sudo systemctl status nginx

Wenn Nginx läuft, solltest du die Ausgabe active (läuft) erhalten.

nginx verifizieren

Zugriff auf WildFly über den Client

Öffne auf deinem Client-Rechner die Datei hosts mit deinem Texteditor. Unter Windows öffnest du die Datei C:\Windows\System32\drivers\etc\hosts als Administrator, unter Linux oder macOS öffnest du die Datei /etc/hosts mit sudo-Rechten.

Füge die folgende Konfiguration ein und achte darauf, dass du den lokalen Domänennamen und die IP-Adresse mit deinen Angaben änderst.

192.168.5.15  wildfly.hwdomain.io

Speichere und schließe die Datei, wenn du fertig bist.

Starte deinen Webbrowser und besuche deine lokale WildFly-Domain (z.B.: http:wildfly.hwdomain.io/). Wenn deine Installation erfolgreich war, solltest du die Standard-Indexseite von WildFly sehen, die wie folgt aussieht:

wildfly jboss

Klicke auf den Link Administrationskonsole, um die WildFly-Administrationskonsole aufzurufen. Daraufhin öffnet sich ein neuer Tab und du wirst zur WildFly-Administrationskonsole mit dem URL-Pfad /console weitergeleitet.

Gib deinen Admin-Benutzer und dein Passwort für die WildFly-Administrationskonsole ein und klicke dann auf Anmelden.

Anmeldung Verwaltungskonsole

Wenn du den richtigen Benutzer und das richtige Passwort hast, solltest du die WildFly-Administrationskonsole wie folgt sehen.

wildfly Verwaltungskonsole

Klicke dann auf das Menü Runtime und wähle deinen Server aus. Du solltest die Bestätigung sehen, dass WildFly gestartet ist und läuft.

Status-Laufzeit

Wähle schließlich das Menü Status und du solltest den detaillierten Status deiner WildFly-Installation sehen, einschließlich der auf 4 GB geänderten Heap-Konfiguration.

Laufzeitstatus

Fazit

Abschließend hast du nun die Installation von WildFly auf Debian 12 Schritt für Schritt abgeschlossen. Du hast WildFly installiert, die Administrationskonsole aktiviert und einen WildFly-Admin-Benutzer erstellt. Außerdem hast du Nginx als Reverse Proxy für Wildfly konfiguriert. Von nun an kannst du deine JBoss-Anwendungen mit WildFly Application Runtime bereitstellen und ausführen.

Das könnte dich auch interessieren …