WildFly, dříve známý jako JBoss, je multiplatformní open-source aplikační runtime napsaný v Javě, který vám pomůže vytvářet úžasné aplikace. WildFly je flexibilní, lehký a je založen na zásuvných subsystémech, které lze přidávat nebo odebírat podle potřeby.
Tento tutoriál vysvětluje, jak nainstalovat aplikační server WildFly na CentOS 7.
Předpoklady #
Abyste mohli instalovat balíčky do systému CentOS, musíte být přihlášeni jako uživatel s přístupem sudo.
Krok 1:Instalace Java OpenJDK #
WildFly 9 vyžaduje Java SE 8 nebo novější. V tomto tutoriálu nainstalujeme OpenJDK, open-source implementaci platformy Java, která je výchozím vývojovým a runtime Java v CentOS 7.
Nainstalujte balíček OpenJDK spuštěním:
sudo yum install java-1.8.0-openjdk-devel
Krok 2:Vytvořte uživatele #
Spuštění WildFly jako uživatel root představuje bezpečnostní riziko a nepovažuje se za nejlepší postup.
Chcete-li vytvořit nový systémový uživatel a skupina s názvem wildfly
s domovským adresářem /opt/wildfly
spustit:
sudo groupadd -r wildfly
sudo useradd -r -g wildfly -d /opt/wildfly -s /sbin/nologin wildfly
Krok 3:Nainstalujte WildFly #
V době psaní tohoto článku je nejnovější verze WildFly 16.0.0
. Než budete pokračovat dalším krokem, měli byste na stránce stahování zkontrolovat novou verzi. Pokud existuje nová verze, nahraďte WILDFLY_VERSION
proměnnou v příkazu níže.
Stáhněte si archiv WildFly v /tmp
adresář pomocí následujícího wget
příkaz:
WILDFLY_VERSION=16.0.0.Final
wget https://download.jboss.org/wildfly/$WILDFLY_VERSION/wildfly-$WILDFLY_VERSION.tar.gz -P /tmp
Po dokončení stahování rozbalte soubor tar.gzfile a přesuňte jej do /opt
adresář:
sudo tar xf /tmp/wildfly-$WILDFLY_VERSION.tar.gz -C /opt/
Dále vytvořte symbolický odkazwildfly
který bude ukazovat na instalační adresář WildFly:
sudo ln -s /opt/wildfly-$WILDFLY_VERSION /opt/wildfly
WildFly poběží pod wildfly
uživatel, který potřebuje mít přístup do instalačního adresáře WildFly.
Změňte vlastnictví adresáře na uživatele a skupinu wildfly
pomocí následujícího příkazu chown:
sudo chown -RH wildfly: /opt/wildfly
Krok 4:Konfigurace Systemd #
Balíček WildFly obsahuje soubory potřebné ke spuštění WildFly jako služby.
Začněte vytvořením adresáře, který bude obsahovat konfigurační soubor WildFly:
sudo mkdir -p /etc/wildfly
Zkopírujte konfigurační soubor do /etc/wildfly
adresář:
sudo cp /opt/wildfly/docs/contrib/scripts/systemd/wildfly.conf /etc/wildfly/
Tento soubor vám umožňuje určit režim WildFly a adresu vazby. Ve výchozím nastavení poběží WildFly v samostatném režimu a bude naslouchat na všech rozhraních. Soubor můžete upravit podle svých potřeb.
/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
Dále zkopírujte WildFly launch.sh
skript do /opt/wildfly/bin/
adresář:
sudo cp /opt/wildfly/docs/contrib/scripts/systemd/launch.sh /opt/wildfly/bin/
Skripty uvnitř bin
adresář musí mít příznak spustitelného souboru:
sudo sh -c 'chmod +x /opt/wildfly/bin/*.sh'
Zkopírujte soubor jednotky systemd s názvem do /etc/systemd/system/
adresář:
sudo cp /opt/wildfly/docs/contrib/scripts/systemd/wildfly.service /etc/systemd/system/
Informujte systemd, že jsme vytvořili nový soubor jednotky:
sudo systemctl daemon-reload
Spusťte službu WildFly a povolte její automatické spuštění při spuštění spuštěním:
sudo systemctl start wildfly
sudo systemctl enable wildfly
Ověřte, zda je služba spuštěna:
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
Krok 5:Úprava brány firewall #
Pokud je váš server chráněn firewallem a chcete přistupovat k instanci WildFly zvenčí místní sítě, musíte také otevřít port 8080.
Pomocí následujících příkazů otevřete potřebný port:
Při spouštění aplikace WildFly v produkčním prostředí budete s největší pravděpodobností mít vyrovnávání zátěže nebo reverzní proxy a nejlepším postupem je omezit přístup k portu 8080 pouze na vaši interní síť.sudo firewall-cmd --zone=public --permanent --add-port=8080/tcp
sudo firewall-cmd --reload
Krok 6:Konfigurace WildFly Authentication #
Nyní, když je WildFly nainstalován a spuštěn, je dalším krokem vytvoření uživatele, který se bude moci připojit pomocí administrační konzoly nebo vzdáleně pomocí CLI.
Chcete-li přidat nového uživatele, použijte add-user.sh
skript, který se nachází v adresáři bin WildFly:
sudo /opt/wildfly/bin/add-user.sh
Budete dotázáni, jaký typ uživatele chcete přidat:
What type of user do you wish to add?
a) Management User (mgmt-users.properties)
b) Application User (application-users.properties)
(a):
Vyberte a
a stiskněte Enter
:
Dále vás skript vyzve k zadání podrobností nového uživatele:
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" />
Nový uživatel bude přidán do souborů vlastností používaných pro ověření.
Krok 6:Otestujte instalaci WildFly #
Pro přístup k výchozí stránce WildFly otevřete prohlížeč a zadejte:http://<your_domain_or_IP_address>:8080
Za předpokladu, že instalace proběhla úspěšně, objeví se obrazovka podobná následující:
Krok 7:Přístup ke konzole pro správu WildFly #
Rozhraní příkazového řádku #
Pro přístup ke konzole pro správu WildFly z příkazového řádku můžete použít jboss-cli.sh
skript.
Přejděte do adresáře bin WildFly a spusťte skript pomocí --connect
možnost:
cd /opt/wildfly/bin/
./jboss-cli.sh --connect
Budete požádáni o zadání svého administrátorského uživatelského jména a hesla (vytvořeného v kroku 6):
Authenticating against security realm: ManagementRealm
Username: linuxize
Password:
Jakmile se přihlásíte, výzva konzole se změní na [standalone@localhost:9990 /]
. Zadejte help
získáte seznam příkazů a syntaxi příkazů.
Odtud můžete nasadit a zrušit nasazení svých aplikací, spravovat uživatele a skupiny a konfigurovat a monitorovat server WildFly.
Webové rozhraní #
Pokud dáváte přednost správě serveru z GUI, WildFly také poskytuje webovou konzoli.
Ve výchozím nastavení je konzola pro správu WildFly dostupná pouze z localhost na http://localhost:9990/console
. Přihlaste se pomocí uživatele, kterého jste vytvořili v kroku 6.
Pokud chcete ke konzoli přistupovat ze vzdálených míst, budete muset provést malé úpravy wildfly.service
, wildfly.conf
a launch.sh
soubory.
Otevřete soubor wildfly.conf
a připojte WILDFLY_CONSOLE_BIND=0.0.0.0
na konci souboru.
# 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
Otevřete launch.sh
a upravte zvýrazněné řádky:
#!/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
Restartujte službu, aby se změny projevily:
sudo systemctl restart wildfly
Otevřete wildfly.service
a upravte zvýrazněné řádky:
[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
Vytvořte /var/run/wildfly
adresář a nastavte správná oprávnění:
sudo mkdir /var/run/wildfly/
sudo chown wildfly: /var/run/wildfly/
Informujte systemd, že soubor jednotky byl změněn:
sudo systemctl daemon-reload
Restartujte službu WildFly spuštěním:
sudo systemctl restart wildfly
Za předpokladu, že port 9990
není ve vašem firewallu blokováno, měli byste mít přístup k administrační konzoli WildFly na http://<your_domain_or_IP_address>:9990/console
.