Cómo instalar WildFly en Rocky Linux 8

14 apr 2022 7 min di lettura
Cómo instalar WildFly en Rocky Linux 8
Tabla de contenidos

Introducción

WildFly, inicialmente conocido como JBoss Application Server , es una implementación de código abierto excepcionalmente rápida y liviana del contenedor Java Enterprise Edition (JEE). WildFly está escrito en Java y fue desarrollado por RedHat para ayudar a administrar el tiempo de ejecución de la aplicación y crear aplicaciones. Esta herramienta fue desarrollada en 2006 por JBoss Inc y luego adquirida por RedHat para convertirse en WildFly. El nombre se cambió debido a la confusión traída a la cartera por los nombres de los productos. WildFly puede ejecutarse en varios sistemas operativos con soporte de 32 y 64 bits.

La última versión de WildFly 26 incluye muchas características y mejoras. Las sorprendentes características asociadas con WildFly son:

  • Ligero : WildFly adopta un enfoque agresivo para la gestión de la memoria. Los servicios principales de tiempo de ejecución se han desarrollado para minimizar la asignación de montones mediante el uso de metadatos indexados almacenados en caché comunes en escaneos completos duplicados, lo que reduce el abandono de montones y objetos.
  • Basado en estándares : WildFly implementa los últimos estándares comerciales de Java de Jakarta EE y Eclipse MicroProfile. Estos mejoran la productividad de los desarrolladores al proporcionar capacidades comerciales avanzadas en marcos fáciles de usar que eliminan la placa estándar y reducen la carga técnica.
  • Modular : WildFly carga correctamente las clases. Utiliza módulos JBoss para proporcionar un verdadero aislamiento de la aplicación, ocultando las clases de implementación del servidor de la aplicación y conectándose solo con los JAR que necesita la aplicación.
  • Potente : la configuración en WildFly es centralizada, simple y centrada en el usuario. El archivo de configuración está organizado en subsistemas fácilmente comprensibles y no se expone ningún cableado interno del servidor.

Esta guía pretende demostrar cómo instalar la última versión de WildFly en Rocky Linux 8.

Si desea instalar WildFly en un servidor remoto, continúe leyendo; de lo contrario, omita el primer párrafo "Conexión al servidor" y lea el siguiente.

Conexión al servidor

Para acceder al servidor, necesita saber la dirección IP. También necesitará su nombre de usuario y contraseña para la autenticación. Para conectarse al servidor como root escriba el siguiente comando:

ssh [email protected]_DEL_SERVER

A continuación, deberá ingresar la contraseña de usuario raíz.

Si no está usando el usuario raíz, puede iniciar sesión con otro nombre de usuario usando el mismo comando, luego cambie la raíz a su nombre de usuario :

ssh [email protected]_DEL_SERVER

A continuación, se le pedirá que introduzca su contraseña de usuario.

El puerto estándar para conectarse a través de ssh es 22 , si su servidor usa un puerto diferente, deberá especificarlo usando el parámetro -p , luego escriba el siguiente comando:

ssh [email protected]_DEL_SERVER -p PORTA

Requisitos previos

Para esta guía, necesita lo siguiente:

  • Linux Rocky 8.
  • Memoria superior a 2GB de RAM

Además, asegúrese de que los paquetes en su sistema estén actualizados a las últimas versiones disponibles:

sudo yum update

Ahora siga los pasos a continuación para instalar WildFly en Rocky Linux 8.

Instalar Java en Rocky Linux 8

Dado que WildFly se basa en Java, se debe instalar Java antes de continuar. Para esta guía, instalaremos Java OpenJDK 11:

sudo yum install java-11-openjdk-devel

Una vez instalado, compruebe la versión de Java:

java -version
openjdk version "11.0.14.1" 2022-02-08 LTS
OpenJDK Runtime Environment 18.9 (build 11.0.14.1+1-LTS)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.14.1+1-LTS, mixed mode, sharing)

Instale WildFly en Rocky Linux 8

Antes de descargar e instalar WildFly, debe crear un usuario y un grupo del sistema para WildFly. Cree el usuario con un directorio de inicio personalizado como se muestra a continuación:

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

Ahora continúe y descargue la última versión de WildFly del sitio web oficial de WildFly con el comando wget. Para esta guía, descargaremos el archivo TGZ Jarkata EE Full & Web Distribution (26.0.1) usando Wget como se muestra a continuación:

wget https://github.com/wildfly/wildfly/releases/download/26.0.1.Final/wildfly-26.0.1.Final.tar.gz

Una vez descargado, extraiga el archivo al directorio /opt con el comando tar:

sudo tar xf wildfly-*.Final.tar.gz -C /opt/

Ahora crearemos un enlace simbólico para WildFly con el comando ln, esto es esencial al actualizar o instalar una versión diferente en WildFly:

sudo ln -s /opt/wildfly-26.0.1.Final/ /opt/wildfly

Establezca la propiedad del archivo en el usuario Wildfly creado con el comando chown:

sudo chown -RH wildfly:wildfly /opt/wildfly

Cree el servicio Systemd para WildFly

Comenzaremos creando las configuraciones de WildFly en el directorio / etc como se muestra a continuación:

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

Ver el contenido de configuración:

cat /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

Del resultado anterior, podemos aceptar que WildFly funciona en modo independiente de forma predeterminada, pero aún puede personalizarlo según sus preferencias.

Luego copie el script launch.sh necesario para iniciar WildFly como un servicio:

sudo cp /opt/wildfly/docs/contrib/scripts/systemd/launch.sh /opt/wildfly/bin/

Ahora copie el archivo de servicio para WildFly:

sudo cp /opt/wildfly/docs/contrib/scripts/systemd/wildfly.service /usr/lib/systemd/system/

También se necesita un directorio para contener el archivo PID:

sudo mkdir /var/run/wildfly/
sudo chown -R wildfly:wildfly /var/run/wildfly/

Ahora inicie y habilite WildFly en Rocky Linux 8.

sudo systemctl enable wildfly.service
sudo systemctl start wildfly.service

Consultar el estado del servicio.

sudo systemctl status wildfly.service
● wildfly.service - The WildFly Application Server
   Loaded: loaded (/usr/lib/systemd/system/wildfly.service; enabled; vendor preset: disabled)
   Active: active (running) since Thu 2022-03-17 06:39:27 EDT; 20s ago
 Main PID: 37572 (launch.sh)
    Tasks: 125 (limit: 36438)
   Memory: 273.6M
   CGroup: /system.slice/wildfly.service
           ├─37572 /bin/bash /opt/wildfly/bin/launch.sh standalone standalone.xml 0.0.0.0
           ├─37573 /bin/sh /opt/wildfly/bin/standalone.sh -c standalone.xml -b 0.0.0.0
           └─37666 java -D[Standalone] -server -Xms64m -Xmx512m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stack=true -Djbo>

Mar 17 06:39:27 localhost.localdomain systemd[1]: Started The WildFly Application Server.

Configure el firewall para permitir el paso del puerto WildFly:

sudo firewall-cmd --permanent --add-port=8080/tcp
sudo firewall-cmd --reload

En este punto, se debe poder acceder a WildFly en el puerto 8080 .

Configurar la consola de administración de WildFly para acceso remoto

De forma predeterminada, la consola de administración de WildFly se ejecuta en localhost. En caso de que queramos acceder a él a través de un host remoto, debemos realizar algunas configuraciones.

En primer lugar, debemos crear un usuario administrador que nos permita acceder a la consola de administración de WildFly:

sudo /opt/wildfly/bin/add-user.sh
What type of user do you wish to add? 
 a) Management User (mgmt-users.properties) 
 b) Application User (application-users.properties)
(a): a

Enter the details of the new user to add.
Using realm 'ManagementRealm' as discovered from the existing property files.
Username : noviello
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 'noviello' for realm 'ManagementRealm'
Is this correct yes/no? yes
....
Added user 'noviello' with groups  to file '/opt/wildfly-26.0.1.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 Jakarta Enterprise Beans calls.
yes/no? yes
To represent the user add the following to the server-identities definition <secret value="UGFzc3cwcmQh" />

A continuación, crearemos una variable de entorno para WildFly:

sudo vi /etc/wildfly/wildfly.conf
# The address to bind console to
WILDFLY_CONSOLE_BIND=0.0.0.0

Además, edite el script launch.sh:

sudo vi /opt/wildfly/bin/launch.sh
#!/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

Edite también el archivo de servicio de WildFly:

sudo vi /usr/lib/systemd/system/wildfly.service

Edite el archivo de la siguiente manera:

[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

Vuelva a cargar el demonio del sistema y reinicie el servicio WildFly:

sudo systemctl daemon-reload
sudo systemctl restart wildfly.service

Ahora permita el puerto de la consola de administración de WildFly a través del firewall:

sudo firewall-cmd --permanent --add-port=9990/tcp
sudo firewall-cmd --reload

Deshabilitar SELinux:

sudo setenforce 0

Inicie sesión en la consola de administración de WildFly

Ahora continúe e inicie sesión en la Consola de administración de WildFly utilizando la URL http://IP_address:9990/console.

Proporcione las credenciales de usuario administrador que creó.

Ahora implementaremos una aplicación Java de muestra en el servidor WildFly. Primero, descargue la aplicación Helloworld Java de GitHub como se muestra a continuación:

cd /opt/wildfly/standalone/deployments/
sudo curl -O https://raw.githubusercontent.com/aeimer/java-example-helloworld-war/master/dist/helloworld.war

Ver archivos disponibles:

ls
helloworld.war  helloworld.war.deployed  README.txt

Del resultado anterior, el archivo llamado * .deployed muestra que la aplicación se implementó correctamente; de ​​lo contrario, el archivo se llamará * .failed . Puede ver los registros de WildFly de la siguiente manera:

tail /opt/wildfly/standalone/log/server.log  | grep helloworld
2022-03-17 07:07:07,674 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-2) WFLYSRV0027: Starting deployment of "helloworld.war" (runtime-name: "helloworld.war")
2022-03-17 07:07:08,818 INFO  [org.wildfly.extension.undertow] (ServerService Thread Pool -- 81) WFLYUT0021: Registered web context: '/helloworld' for server 'default-server'
2022-03-17 07:07:08,886 INFO  [org.jboss.as.server] (DeploymentScanner-threads - 2) WFLYSRV0010: Deployed "helloworld.war" (runtime-name : "helloworld.war")

La distribución se puede ver en el navegador usando la URL http://IP_address: 8080/helloworld/

Conclusión

Esto marca el final de esta guía. Hemos configurado con éxito el servidor WildFly en Rocky Linux 8 y también hemos distribuido una aplicación de muestra. Ahora continúe y use WildFly para crear y administrar aplicaciones.

Únase a la conversación

Buy me a coffeeBuy me a coffee

Apóyenos si le gusta nuestro contenido. Gracias.

Genial! A continuación, complete el pago para obtener acceso completo a Noviello.it.
Bienvenido de nuevo! Has iniciado sesión correctamente.
Te has suscrito correctamente a Noviello.it.
Éxito! Su cuenta está completamente activada, ahora tiene acceso a todo el contenido.
Éxito! Su información de facturación ha sido actualizada.
Su facturación no se actualizó.