Wie installiere ich WildFly Java Application Server mit Nginx auf Ubuntu 22.04
Wildfly ist eine einfache, leichtgewichtige und flexible Laufzeitumgebung für die Entwicklung von Java-Anwendungen. Er ist in Java geschrieben und kann auf den Betriebssystemen Linux, macOS und Windows ausgeführt werden. Es ist ein vollwertiger Anwendungsserver für Unternehmen, der alle notwendigen Funktionen für den Betrieb einer Java-Webanwendung bietet.
Merkmale
- Kostenlos und Open-Source
- Modular und leichtgewichtig.
- Spart Ressourcen durch effiziente Verwaltung.
- Zeitersparnis durch schnellere Entwicklung.
Diese Anleitung zeigt dir, wie du Wildfly mit Nginx als Reverse Proxy auf Ubuntu 22.04 installierst.
Voraussetzungen
- Ein Server, auf dem Ubuntu 22.04 läuft.
- Ein gültiger Domainname ist auf die IP deines Servers verweist.
- Ein Root-Passwort ist auf deinem Server konfiguriert.
Aktualisiere das System
Zuerst musst du alle Systempakete auf die aktuelle Version aktualisieren. Du kannst alle Pakete mit folgendem Befehl aktualisieren.
apt update -y apt upgrade -y
Sobald alle Pakete aktualisiert sind, kannst du mit dem nächsten Schritt fortfahren.
Java JDK installieren
Wildfly ist eine Java-basierte Anwendung. Daher musst du Java auf deinem Server installieren. Du kannst Java JDK mit dem folgenden Befehl installieren.
apt install default-jdk -y
Sobald Java installiert ist, kannst du die Java-Version mit dem folgenden Befehl überprüfen.
java --version
Du solltest die Java-Version in der folgenden Ausgabe sehen.
openjdk 11.0.17 2022-10-18 OpenJDK Runtime Environment (build 11.0.17+8-post-Ubuntu-1ubuntu222.04) OpenJDK 64-Bit Server VM (build 11.0.17+8-post-Ubuntu-1ubuntu222.04, mixed mode, sharing)
Wildfly herunterladen und installieren
Bevor du beginnst, musst du einen Benutzer und eine Gruppe für Wildfly erstellen. Beides kannst du mit dem folgenden Befehl erstellen.
groupadd -r wildfly useradd -r -g wildfly -d /opt/wildfly -s /sbin/nologin wildfly
Als Nächstes lädst du die neueste Version von Wildfly mit dem folgenden Befehl herunter.
wget https://github.com/wildfly/wildfly/releases/download/26.1.3.Final/wildfly-26.1.3.Final.zip
Sobald der Download abgeschlossen ist, entpackst du die heruntergeladene Datei mit dem folgenden Befehl.
unzip wildfly-26.1.3.Final.zip
Verschiebe das entpackte Wildfly-Verzeichnis in das Verzeichnis /opt.
mv wildfly-26.1.3.Final /opt/wildfly
Ändere die Besitzverhältnisse des Wildfly-Verzeichnisses mit dem folgenden Befehl.
chown -RH wildfly: /opt/wildfly
Danach kannst du mit der Konfiguration von Wildfly fortfahren.
Wildfly konfigurieren
Erstelle zunächst ein Wildfly-Konfigurationsverzeichnis mit dem folgenden Befehl.
mkdir -p /etc/wildfly
Als nächstes kopierst du die Wildfly-Konfigurationsdatei in das Verzeichnis /etc/wildfly.
cp /opt/wildfly/docs/contrib/scripts/systemd/wildfly.conf /etc/wildfly/
Als nächstes kopierst du die Wildfly-Dienstdatei in das systemd-Verzeichnis.
cp /opt/wildfly/docs/contrib/scripts/systemd/wildfly.service /etc/systemd/system/
Als nächstes kopierst du die Datei Wildfly launch.sh in das Verzeichnis /opt/wildfly/bin/.
cp /opt/wildfly/docs/contrib/scripts/systemd/launch.sh /opt/wildfly/bin/
Setze die Ausführungserlaubnis für die Skriptdatei.
chmod +x /opt/wildfly/bin/*.sh
Dann lädst du den systemd-Daemon neu, um die Änderungen zu übernehmen.
systemctl daemon-reload
Starte nun den wildfly-Dienst und füge ihn zum Systemstart hinzu.
systemctl start wildfly systemctl enable wildfly
Du kannst nun den Status von Wildfly mit dem folgenden Befehl überprüfen.
systemctl status wildfly
Du erhältst die folgende Ausgabe.
? wildfly.service - The WildFly Application Server Loaded: loaded (/etc/systemd/system/wildfly.service; disabled; vendor preset: enabled) Active: active (running) since Wed 2023-02-15 09:34:24 UTC; 4s ago Main PID: 20425 (launch.sh) Tasks: 61 (limit: 4579) Memory: 111.6M CPU: 6.919s CGroup: /system.slice/wildfly.service ??20425 /bin/bash /opt/wildfly/bin/launch.sh standalone standalone.xml 0.0.0.0 ??20426 /bin/sh /opt/wildfly/bin/standalone.sh -c standalone.xml -b 0.0.0.0 ??20534 java "-D[Standalone]" -server -Xms64m -Xmx512m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stac> Feb 15 09:34:24 ubuntu2204 systemd[1]: Started The WildFly Application Server.
Standardmäßig lauscht Wildfly auf den Ports 8080 und 9990. Du kannst sie mit dem folgenden Befehl überprüfen.
ss -antpl | grep -i java
Du solltest die folgende Ausgabe sehen.
LISTEN 0 4096 0.0.0.0:8443 0.0.0.0:* users:(("java",pid=20534,fd=498)) LISTEN 0 50 127.0.0.1:9990 0.0.0.0:* users:(("java",pid=20534,fd=497)) LISTEN 0 4096 0.0.0.0:8080 0.0.0.0:* users:(("java",pid=20534,fd=495))
Wildfly Admin-Konsole konfigurieren
In der Standardeinstellung ist die Wildfly-Administrationskonsole deaktiviert. Du musst sie also aktivieren, um über den Webbrowser auf Wildfly zugreifen zu können.
Bearbeite zunächst die Wildfly-Konfigurationsdatei mit dem folgenden Befehl.
nano /etc/wildfly/wildfly.conf
Ändere die folgenden Zeilen.
WILDFLY_BIND=127.0.0.1 WILDFLY_CONSOLE_BIND=127.0.0.1
Speichere und schließe die Datei, wenn du fertig bist. Bearbeite dann die Datei launch.sh mit dem folgenden Befehl.
nano /opt/wildfly/bin/launch.sh
Ändere die folgenden Zeilen:
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 und bearbeite dann die Wildfly-Dienstdatei.
nano /etc/systemd/system/wildfly.service
Ändere die folgende Zeile ab.
ExecStart=/opt/wildfly/bin/launch.sh $WILDFLY_MODE $WILDFLY_CONFIG $WILDFLY_BIND $WILDFLY_CONSOLE_BIND
Speichere und schließe die Datei und lade den systemd-Daemon neu, um die Änderungen zu übernehmen.
systemctl daemon-reload
Starte nun den Wildfly-Dienst neu, um die Änderungen zu übernehmen.
systemctl restart wildfly
Wildfly-Verwaltungsbenutzer hinzufügen
Als Nächstes musst du einen Admin-Benutzer hinzufügen, um auf die Wildfly-Administrationskonsole zugreifen zu können. Du kannst ihn mit dem folgenden Befehl hinzufügen.
sh /opt/wildfly/bin/add-user.sh
Du wirst nach der Art des Benutzers gefragt, den du hinzufügen möchtest:
What type of user do you wish to add? a) Management User (mgmt-users.properties) b) Application User (application-users.properties) (a): a
Gib die Details deines neuen Benutzers ein (siehe unten):
Using the realm 'ManagementRealm' as discovered from the existing property files. Username : wadmin Password recommendations are listed below. To modify these restrictions edit the add-user.properties configuration file. - The password should be different from the username - The password should not be one of the following restricted values {root, admin, administrator} - The password should contain at least 8 characters, 1 alphabetic character(s), 1 digit(s), 1 non-alphanumeric symbol(s) Password : Re-enter Password :
Du wirst gefragt, zu welcher Gruppe dieser Benutzer gehören soll:
What groups do you want this user to belong to? (Please enter a comma separated list, or leave blank for none)[ ]:
Drücke einfach die Eingabetaste. Du solltest die folgende Ausgabe sehen.
About to add user 'wadmin' for realm 'ManagementRealm' Is this correct yes/no? yes Added user 'wadmin' to file '/opt/wildfly/standalone/configuration/mgmt-users.properties' Added user 'wadmin' to file '/opt/wildfly/domain/configuration/mgmt-users.properties' Added user 'wadmin' with groups to file '/opt/wildfly/standalone/configuration/mgmt-groups.properties' Added user 'wadmin' with groups to file '/opt/wildfly/domain/configuration/mgmt-groups.properties' Is this new user going to be used for one AS process to connect to another AS process? e.g. for a slave host controller connecting to the master or for a Remoting connection for server to server EJB calls. yes/no? yes To represent the user add the following to the server-identities definition
Nginx für Wildfly konfigurieren
Jetzt ist Wildfly installiert und so konfiguriert, dass es auf localhost läuft. Jetzt musst du Nginx als Reverse Proxy konfigurieren, um auf die Wildfly-Weboberfläche zuzugreifen.
Installiere zunächst das Nginx-Paket mit dem folgenden Befehl.
apt install nginx -y
Als nächstes erstellst du eine Konfigurationsdatei proxy_headers.
nano /etc/nginx/conf.d/proxy_headers.conf
Füge die folgenden Konfigurationen hinzu:
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 schließe die Datei und erstelle dann eine neue Konfigurationsdatei für den virtuellen Host.
nano /etc/nginx/conf.d/wildfly.conf
Füge die folgenden Konfigurationen hinzu.
server { listen 80; server_name wildfly.example.com; 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 die Datei und überprüfe Nginx auf eventuelle Syntax-Konfigurationsfehler.
nginx -t
Wenn alles in Ordnung ist, erhältst du die folgende Ausgabe.
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
Starte abschließend den Nginx-Dienst neu, um die Änderungen zu übernehmen.
systemctl restart nginx
Du kannst den Status des Nginx-Dienstes mit dem folgenden Befehl überprüfen.
systemctl status nginx
Du solltest die folgende Ausgabe sehen.
? nginx.service - A high performance web server and a reverse proxy server Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2023-02-15 09:38:18 UTC; 1s ago Docs: man:nginx(8) Process: 21027 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS) Process: 21028 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS) Main PID: 21029 (nginx) Tasks: 3 (limit: 4579) Memory: 3.4M CPU: 62ms CGroup: /system.slice/nginx.service ??21029 "nginx: master process /usr/sbin/nginx -g daemon on; master_process on;" ??21030 "nginx: worker process" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" ??21031 "nginx: worker process" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" Feb 15 09:38:18 ubuntu2204 systemd[1]: Starting A high performance web server and a reverse proxy server... Feb 15 09:38:18 ubuntu2204 systemd[1]: Started A high performance web server and a reverse proxy server.
Zugriff auf das Wildfly Admin Interface
Öffne nun deinen Webbrowser und rufe die Wildfly-Administrationsoberfläche unter der URL http://wildfly.example.com/console auf. Du wirst aufgefordert, deine Wildfly-Admin-Daten einzugeben (siehe unten):
Gib deinen Admin-Benutzernamen und dein Passwort ein und klicke dann auf die Schaltfläche Anmelden. Auf dem folgenden Bildschirm solltest du das Wildfly-Dashboard sehen.
Du kannst die Wildfly-Standardseite auch über die URL http://wildfly.example.com aufrufen . Du solltest den folgenden Bildschirm sehen.
Fazit
Herzlichen Glückwunsch! Du hast Wildfly mit Nginx als Reverse Proxy erfolgreich auf dem Ubuntu 22.04 Server installiert. Jetzt kannst du damit beginnen, eine tolle Anwendung mit der Wildfly-Plattform zu erstellen. Wenn du noch Fragen hast, kannst du dich gerne an mich wenden.