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.
Dieses Tutorial erklärt, wie man den WildFly-Anwendungsserver unter CentOS 7 installiert.
Voraussetzungen #
Sie müssen als Benutzer mit sudo-Zugriff angemeldet sein, um Pakete auf Ihrem CentOS-System installieren zu können.
Schritt 1:Installieren Sie Java OpenJDK #
WildFly 9 erfordert Java SE 8 oder höher. In diesem Tutorial installieren wir OpenJDK, die Open-Source-Implementierung der Java-Plattform, die die Standard-Java-Entwicklung und -Laufzeit in CentOS 7 ist.
Installieren Sie das OpenJDK-Paket, indem Sie Folgendes ausführen:
sudo yum install java-1.8.0-openjdk-devel
Schritt 2:Erstellen Sie einen Benutzer #
Das Ausführen von WildFly als Root-Benutzer ist ein Sicherheitsrisiko und wird nicht als Best Practice angesehen.
So erstellen Sie einen neuen Systembenutzer und eine neue Gruppe mit dem Namen wildfly
mit Heimatverzeichnis /opt/wildfly
ausführen:
sudo groupadd -r wildfly
sudo useradd -r -g wildfly -d /opt/wildfly -s /sbin/nologin wildfly
Schritt 3:Installieren Sie 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
Wenn der Download abgeschlossen ist, entpacken Sie die tar.gz-Datei und verschieben Sie sie nach /opt
Verzeichnis:
sudo tar xf /tmp/wildfly-$WILDFLY_VERSION.tar.gz -C /opt/
Erstellen Sie als Nächstes einen symbolischen Linkwildfly
das zeigt auf das Installationsverzeichnis von WildFly:
sudo ln -s /opt/wildfly-$WILDFLY_VERSION /opt/wildfly
WildFly läuft unter dem wildfly
Benutzer, der Zugriff auf das WildFly-Installationsverzeichnis haben muss.
Ändern Sie den Verzeichnisbesitz in Benutzer und Gruppe wildfly
mit dem folgenden chown-Befehl:
sudo chown -RH wildfly: /opt/wildfly
Schritt 4:Konfigurieren Sie 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. Sie können die Datei nach Ihren Wünschen bearbeiten.
/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
Als nächstes kopieren Sie 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'
Kopieren Sie die systemd-Einheitendatei mit dem Namen /etc/systemd/system/
Verzeichnis:
sudo cp /opt/wildfly/docs/contrib/scripts/systemd/wildfly.service /etc/systemd/system/
Systemd benachrichtigen, dass wir eine neue Unit-Datei erstellt haben:
sudo systemctl daemon-reload
Starten Sie den WildFly-Dienst und aktivieren Sie ihn, damit er beim Booten automatisch gestartet wird, indem Sie Folgendes ausführen:
sudo systemctl start wildfly
sudo systemctl enable wildfly
Überprüfen Sie, ob der Dienst ausgeführt wird:
sudo systemctl status wildfly
● wildfly.service - The WildFly Application Server
Loaded: loaded (/etc/systemd/system/wildfly.service; disabled; vendor preset: disabled)
Active: active (running) since Fri 2019-03-01 20:13:39 UTC; 3s ago
Main PID: 3680 (launch.sh)
CGroup: /system.slice/wildfly.service
Schritt 5:Passen Sie die Firewall # an
Wenn Ihr Server durch eine Firewall geschützt ist und Sie von außerhalb des lokalen Netzwerks auf die WildFly-Instanz zugreifen möchten, müssen Sie auch Port 8080 öffnen.
Verwenden Sie die folgenden Befehle, um den erforderlichen Port zu öffnen:
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.sudo firewall-cmd --zone=public --permanent --add-port=8080/tcp
sudo firewall-cmd --reload
Schritt 6: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.
Schritt 6:Testen Sie die 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:
Schritt 7: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/
Systemd benachrichtigen, dass die Unit-Datei geändert wurde:
sudo systemctl daemon-reload
Starten Sie den WildFly-Dienst neu, indem Sie Folgendes ausführen:
sudo systemctl restart wildfly
Angenommen, Port 9990
nicht in Ihrer Firewall blockiert ist, sollten Sie unter http://<your_domain_or_IP_address>:9990/console
auf die WildFly-Administrationskonsole zugreifen können .