WildFly, früher bekannt als JBoss, ist eine plattformübergreifende Open-Source-Anwendungslaufzeit, die in Java geschrieben ist und Ihnen hilft, erstaunliche Anwendungen zu erstellen. WildFly ist flexibel, leicht und basiert auf steckbaren Subsystemen, die nach Bedarf hinzugefügt oder entfernt werden können.
In diesem Tutorial führen wir Sie durch die Schritte, die zum Installieren des WildFly-Anwendungsservers auf Debian 9 erforderlich sind.
Voraussetzungen #
Der Benutzer, als der Sie angemeldet sind, muss über sudo-Berechtigungen verfügen, um Pakete installieren zu können.
Installieren von Java OpenJDK #
Für WildFly muss Java installiert sein. Wir installieren OpenJDK, die standardmäßige Java-Entwicklung und -Laufzeit in Debian 9:
sudo apt update
sudo apt install default-jdk
Benutzer # wird erstellt
Erstellen Sie einen neuen Systembenutzer und eine neue Gruppe mit dem Namen wildfly
mit Heimatverzeichnis /opt/wildfly
das den WildFly-Dienst ausführt:
sudo groupadd -r wildfly
sudo useradd -r -g wildfly -d /opt/wildfly -s /sbin/nologin wildfly
Installieren von WildFly #
Zum Zeitpunkt des Schreibens ist die neueste Version von WildFly 16.0.0
. Bevor Sie mit dem nächsten Schritt fortfahren, sollten Sie auf der Download-Seite nach einer neuen Version suchen. Wenn es eine neue Version gibt, ersetzen Sie die WILDFLY_VERSION
Variable im folgenden Befehl.
Laden Sie das WildFly-Archiv im Ordner /tmp
herunter Verzeichnis mit dem folgenden wget
Befehl:
WILDFLY_VERSION=16.0.0.Final
wget https://download.jboss.org/wildfly/$WILDFLY_VERSION/wildfly-$WILDFLY_VERSION.tar.gz -P /tmp
Extrahieren Sie nach Abschluss des Downloads die tar.gz-Datei und verschieben Sie sie nach /opt
Verzeichnis:
sudo tar xf /tmp/wildfly-$WILDFLY_VERSION.tar.gz -C /opt/
Erstellen Sie einen symbolischen Linkwildfly
das zeigt auf das Installationsverzeichnis von WildFly:
sudo ln -s /opt/wildfly-$WILDFLY_VERSION /opt/wildfly
WildFly läuft als wildfly
Benutzer, der Zugriff auf das WildFly-Installationsverzeichnis haben muss. Ändern Sie den Verzeichnisbesitz auf Benutzer und Gruppe wildfly
:
sudo chown -RH wildfly: /opt/wildfly
Konfigurieren von Systemd #
Das WildFly-Paket enthält Dateien, die zum Ausführen von WildFly als Dienst erforderlich sind.
Erstellen Sie zunächst ein Verzeichnis, das die WildFly-Konfigurationsdatei enthält:
sudo mkdir -p /etc/wildfly
Kopieren Sie die Konfigurationsdatei nach /etc/wildfly
Verzeichnis:
sudo cp /opt/wildfly/docs/contrib/scripts/systemd/wildfly.conf /etc/wildfly/
Mit dieser Datei können Sie den WildFly-Modus und die Bindungsadresse angeben. Standardmäßig läuft WildFly im Standalone-Modus und lauscht auf allen Schnittstellen. Bearbeiten Sie die Datei nach Ihren Bedürfnissen.
/etc/wildfly/wildfly.conf# The configuration you want to run
WILDFLY_CONFIG=standalone.xml
# The mode you want to run
WILDFLY_MODE=standalone
# The address to bind to
WILDFLY_BIND=0.0.0.0
Kopieren Sie als Nächstes die WildFly launch.sh
Skript in /opt/wildfly/bin/
Verzeichnis:
sudo cp /opt/wildfly/docs/contrib/scripts/systemd/launch.sh /opt/wildfly/bin/
Die Skripte in bin
Verzeichnis muss ausführbares Flag haben:
sudo sh -c 'chmod +x /opt/wildfly/bin/*.sh'
Der letzte Schritt besteht darin, die systemd-Unit-Datei mit dem Namen in die Datei /etc/systemd/system/
zu kopieren Verzeichnis:
sudo cp /opt/wildfly/docs/contrib/scripts/systemd/wildfly.service /etc/systemd/system/
Laden Sie die systemd-Manager-Konfiguration neu:
sudo systemctl daemon-reload
Starten und aktivieren Sie den WildFly-Dienst, damit er beim Booten automatisch gestartet wird:
sudo systemctl start wildfly
sudo systemctl enable wildfly
Überprüfen Sie den Dienststatus mit dem folgenden Befehl:
sudo systemctl status wildfly
* wildfly.service - The WildFly Application Server
Loaded: loaded (/etc/systemd/system/wildfly.service; disabled; vendor preset: enabled)
Active: active (running) since Sun 2019-02-17 04:59:39 PST; 2s ago
Main PID: 10005 (launch.sh)
Tasks: 62 (limit: 2319)
CGroup: /system.slice/wildfly.service
Firewall anpassen #
Wenn Ihr Server durch eine Firewall geschützt ist und Sie von außerhalb Ihres lokalen Netzwerks auf die WildFly-Schnittstelle zugreifen möchten, müssen Sie Port 8080
öffnen .
Um Datenverkehr auf Port 8080
zuzulassen Geben Sie den folgenden Befehl ein:
sudo ufw allow 8080/tcp
Wenn Sie eine WildFly-Anwendung in einer Produktionsumgebung ausführen, verfügen Sie höchstwahrscheinlich über einen Load Balancer oder Reverse Proxy, und es ist eine bewährte Methode, den Zugriff auf Port 8080 nur auf Ihr internes Netzwerk zu beschränken. WildFly-Authentifizierung konfigurieren #
Nachdem WildFly installiert ist und ausgeführt wird, besteht der nächste Schritt darin, einen Benutzer zu erstellen, der sich über die Verwaltungskonsole oder remote über die CLI verbinden kann.
Um einen neuen Benutzer hinzuzufügen, verwenden Sie die add-user.sh
Skript, das sich im bin-Verzeichnis von WildFly befindet:
sudo /opt/wildfly/bin/add-user.sh
Sie werden gefragt, welche Art von Benutzer Sie hinzufügen möchten:
What type of user do you wish to add?
a) Management User (mgmt-users.properties)
b) Application User (application-users.properties)
(a):
Wählen Sie a
und drücken Sie Enter
:
Als nächstes fordert Sie das Skript auf, die Details des neuen Benutzers einzugeben:
Enter the details of the new user to add.
Using realm 'ManagementRealm' as discovered from the existing property files.
Username : linuxize
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 :
What groups do you want this user to belong to? (Please enter a comma separated list, or leave blank for none)[ ]:
About to add user 'linuxize' for realm 'ManagementRealm'
Is this correct yes/no? yes
Added user 'linuxize' to file '/opt/wildfly-16.0.0.Final/standalone/configuration/mgmt-users.properties'
Added user 'linuxize' to file '/opt/wildfly-16.0.0.Final/domain/configuration/mgmt-users.properties'
Added user 'linuxize' with groups to file '/opt/wildfly-16.0.0.Final/standalone/configuration/mgmt-groups.properties'
Added user 'linuxize' with groups to file '/opt/wildfly-16.0.0.Final/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 <secret value="UGFuMjNkZWo3NyNA" />
Der neue Benutzer wird den Eigenschaftendateien hinzugefügt, die für die Authentifizierung verwendet werden.
Testen der WildFly-Installation #
Um auf die WildFly-Standardseite zuzugreifen, öffnen Sie Ihren Browser und geben Sie Folgendes ein:http://<your_domain_or_IP_address>:8080
Vorausgesetzt, die Installation ist erfolgreich, wird ein Bildschirm ähnlich dem folgenden angezeigt:
Zugriff auf die WildFly-Administrationskonsole #
Befehlszeilenschnittstelle #
Um über die Befehlszeile auf die WildFly-Administrationskonsole zuzugreifen, können Sie jboss-cli.sh
verwenden Skript.
Navigieren Sie zum bin-Verzeichnis von WildFly und führen Sie das Skript mit --connect
aus Möglichkeit:
cd /opt/wildfly/bin/
./jboss-cli.sh --connect
Sie werden aufgefordert, Ihren administrativen Benutzernamen und Ihr Kennwort (in Schritt 6 erstellt) einzugeben:
Authenticating against security realm: ManagementRealm
Username: linuxize
Password:
Sobald Sie sich angemeldet haben, ändert sich die Eingabeaufforderung der Konsole zu [standalone@localhost:9990 /]
. Geben Sie help
ein um eine Liste von Befehlen und Befehlssyntax zu erhalten.
Von hier aus können Sie Ihre Anwendungen bereitstellen und die Bereitstellung aufheben, Benutzer und Gruppen verwalten und den WildFly-Server konfigurieren und überwachen.
Webinterface #
Wenn Sie es vorziehen, Ihren Server über die GUI zu verwalten, bietet WildFly auch eine webbasierte Konsole.
Standardmäßig ist die WildFly-Administrationskonsole nur von localhost unter http://localhost:9990/console
verfügbar . Melden Sie sich mit dem Benutzer an, den Sie in Schritt 6 erstellt haben.
Wenn Sie von entfernten Standorten aus auf die Konsole zugreifen möchten, müssen Sie kleine Änderungen am wildfly.service
vornehmen , wildfly.conf
und launch.sh
Dateien.
Öffnen Sie die wildfly.conf
und hängen Sie WILDFLY_CONSOLE_BIND=0.0.0.0
an am Ende der Datei.
# The configuration you want to run
WILDFLY_CONFIG=standalone.xml
# The mode you want to run
WILDFLY_MODE=standalone
# The address to bind to
WILDFLY_BIND=0.0.0.0
# The address console to bind to
WILDFLY_CONSOLE_BIND=0.0.0.0
Öffnen Sie die launch.sh
und bearbeiten Sie die markierten Zeilen:
#!/bin/bash
if [ "x$WILDFLY_HOME" = "x" ]; then
WILDFLY_HOME="/opt/wildfly"
fi
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
Starten Sie den Dienst neu, damit die Änderungen wirksam werden:
sudo systemctl restart wildfly
Öffnen Sie den wildfly.service
und bearbeiten Sie die markierten Zeilen:
[Unit]
Description=The WildFly Application Server
After=syslog.target network.target
Before=httpd.service
[Service]
Environment=LAUNCH_JBOSS_IN_BACKGROUND=1
EnvironmentFile=-/etc/wildfly/wildfly.conf
User=wildfly
LimitNOFILE=102642
PIDFile=/var/run/wildfly/wildfly.pid
ExecStart=/opt/wildfly/bin/launch.sh $WILDFLY_MODE $WILDFLY_CONFIG $WILDFLY_BIND $WILDFLY_CONSOLE_BIND
StandardOutput=null
[Install]
WantedBy=multi-user.target
Erstellen Sie /var/run/wildfly
Verzeichnis und setzen Sie die richtigen Berechtigungen:
sudo mkdir /var/run/wildfly/
sudo chown wildfly: /var/run/wildfly/
Laden Sie die systemd-Manager-Konfiguration neu:
sudo systemctl daemon-reload
Starten Sie den WildFly-Dienst neu, indem Sie Folgendes ausführen:
sudo systemctl restart wildfly
Vorausgesetzt, Ihre Firewall blockiert den Port 9990
nicht , sollten Sie unter http://<your_domain_or_IP_address>:9990/console
auf die WildFly-Administrationskonsole zugreifen können .