Instalación WildFly · 8 min read · Sep 10, 2025
Cómo instalar y configurar WildFly (JBoss) en Debian 11

Wildfly es un servidor de aplicaciones escrito en Java y desarrollado por RedHat. Es un servidor simple, ligero y potente con una CLI y una consola de administración. Es de código abierto, multiplataforma y se basa en subsistemas plugables que se pueden agregar o eliminar según sea necesario. Proporciona todas las características necesarias para ejecutar una aplicación web en Java.
En este tutorial, te mostraré cómo instalar Wildfly con Nginx como un proxy inverso en Debian 11.
Prerrequisitos
- Un servidor que ejecute Debian 11.
- Un nombre de dominio válido apuntado a la IP de tu servidor.
- Una contraseña de root configurada en tu servidor.
Instalar Java JDK
Wildfly es una aplicación basada en Java, por lo que Java debe estar instalado en tu servidor. Si no está instalado, puedes instalarlo ejecutando el siguiente comando:
apt-get install default-jdk -yUna vez que Java esté instalado, puedes verificarlo usando el siguiente comando:
java --versionDeberías ver la versión de Java en la siguiente salida:
openjdk 11.0.12 2021-07-20
OpenJDK Runtime Environment (build 11.0.12+7-post-Debian-2deb10u1)
OpenJDK 64-Bit Server VM (build 11.0.12+7-post-Debian-2deb10u1, mixed mode, sharing)
Instalar Wildfly
Primero, crea un usuario y un grupo para ejecutar la aplicación Wildfly usando el siguiente comando:
groupadd -r wildfly
useradd -r -g wildfly -d /opt/wildfly -s /sbin/nologin wildflyA continuación, descarga la última versión de Wildfly usando el comando wget:
wget https://github.com/wildfly/wildfly/releases/download/25.0.1.Final/wildfly-25.0.1.Final.zipUna vez que la descarga esté completa, descomprime el archivo descargado con el siguiente comando:
unzip wildfly-25.0.1.Final.zipA continuación, mueve el directorio extraído a /opt usando el siguiente comando:
mv wildfly-25.0.1.Final /opt/wildflyA continuación, cambia la propiedad del directorio /opt/wildfly:
chown -RH wildfly:wildfly /opt/wildflyA continuación, crea un directorio de configuración de Wildfly dentro de /etc usando el siguiente comando:
mkdir -p /etc/wildflyA continuación, copia todos los archivos necesarios del directorio Wildfly al directorio /etc/wildfly:
cp /opt/wildfly/docs/contrib/scripts/systemd/wildfly.conf /etc/wildfly/
cp /opt/wildfly/docs/contrib/scripts/systemd/wildfly.service /etc/systemd/system/
cp /opt/wildfly/docs/contrib/scripts/systemd/launch.sh /opt/wildfly/bin/A continuación, establece permisos de ejecución para todos los archivos de script de shell:
chmod +x /opt/wildfly/bin/*.shA continuación, recarga el demonio systemd con el siguiente comando:
systemctl daemon-reloadA continuación, inicia y habilita el servicio Wildfly usando el siguiente comando:
systemctl start wildfly
systemctl enable wildflyPara verificar el estado del servicio Wildfly, ejecuta el siguiente comando:
systemctl status wildflyObtendrás la siguiente salida:
? wildfly.service - The WildFly Application Server
Loaded: loaded (/etc/systemd/system/wildfly.service; disabled; vendor preset: enabled)
Active: active (running) since Fri 2021-12-10 14:55:07 UTC; 6s ago
Main PID: 20928 (launch.sh)
Tasks: 59 (limit: 4701)
Memory: 171.6M
CGroup: /system.slice/wildfly.service
??20928 /bin/bash /opt/wildfly/bin/launch.sh standalone standalone.xml 0.0.0.0
??20929 /bin/sh /opt/wildfly/bin/standalone.sh -c standalone.xml -b 0.0.0.0
??21022 java -D[Standalone] -server -Xms64m -Xmx512m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stack=tru
Dec 10 14:55:07 debian11 systemd[1]: Started The WildFly Application Server.
Habilitar la consola de administración de Wildfly
Por defecto, la consola de administración de Wildfly está deshabilitada. Se recomienda habilitarla para gestionar la aplicación Wildfly.
Puedes habilitarla editando el archivo de configuración de Wildfly:
nano /etc/wildfly/wildfly.confCambia las siguientes líneas:
WILDFLY_BIND=127.0.0.1
WILDFLY_CONSOLE_BIND=127.0.0.1
Guarda y cierra el archivo, luego edita el script de lanzamiento de Wildfly y habilita la consola de administración.
nano /opt/wildfly/bin/launch.shCambia el archivo como se muestra a continuación:
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
Guarda y cierra el archivo, luego edita el archivo systemd de Wildfly:
nano /etc/systemd/system/wildfly.serviceCambia la siguiente línea:
ExecStart=/opt/wildfly/bin/launch.sh $WILDFLY_MODE $WILDFLY_CONFIG $WILDFLY_BIND $WILDFLY_CONSOLE_BIND
Guarda y cierra el archivo, luego recarga el demonio systemd para aplicar los cambios de configuración:
systemctl daemon-reloadA continuación, reinicia el servicio Wildfly para aplicar los cambios:
systemctl restart wildflyTambién puedes verificar el estado de Wildfly con el siguiente comando:
systemctl status wildflyObtendrás la siguiente salida:
? wildfly.service - The WildFly Application Server
Loaded: loaded (/etc/systemd/system/wildfly.service; disabled; vendor preset: enabled)
Active: active (running) since Fri 2021-12-10 14:57:22 UTC; 3s ago
Main PID: 21182 (launch.sh)
Tasks: 64 (limit: 4701)
Memory: 205.6M
CGroup: /system.slice/wildfly.service
??21182 /bin/bash /opt/wildfly/bin/launch.sh standalone standalone.xml 127.0.0.1 127.0.0.1
??21183 /bin/sh /opt/wildfly/bin/standalone.sh -c standalone.xml -b 127.0.0.1 -bmanagement 127.0.0.1
??21282 java -D[Standalone] -server -Xms64m -Xmx512m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stack=tru
Dec 10 14:57:22 debian11 systemd[1]: Started The WildFly Application Server.
En este punto, Wildfly está iniciado y escucha en los puertos 8080 y 9990. Puedes verificarlos con el siguiente comando:
ss -plntObtendrás la siguiente salida:
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 0.0.0.0:22 0.0.0.0:* users:(("sshd",pid=678,fd=3))
LISTEN 0 128 127.0.0.1:8443 0.0.0.0:* users:(("java",pid=21282,fd=485))
LISTEN 0 50 127.0.0.1:9990 0.0.0.0:* users:(("java",pid=21282,fd=487))
LISTEN 0 80 127.0.0.1:3306 0.0.0.0:* users:(("mysqld",pid=12461,fd=21))
LISTEN 0 128 127.0.0.1:8080 0.0.0.0:* users:(("java",pid=21282,fd=476))
LISTEN 0 128 [::]:22 [::]:* users:(("sshd",pid=678,fd=4))
Una vez que hayas terminado, puedes proceder al siguiente paso.
Crear usuario administrador de Wildfly
A continuación, también necesitarás crear un usuario administrador para acceder a la consola de administración de Wildfly. Puedes crearlo ejecutando el siguiente comando:
sh /opt/wildfly/bin/add-user.shSe te pedirá que elijas los tipos de usuario:
What type of user do you wish to add?
a) Management User (mgmt-users.properties)
b) Application User (application-users.properties)
(a): a
Escribe a y presiona la tecla Enter para agregar el usuario de gestión. Se te pedirá que definas tu nombre de usuario y contraseña como se muestra a continuación:
Enter the details of the new user to add.
Using realm 'ManagementRealm' as discovered from the existing property files.
Username : hitesh
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 :
Proporciona tu nombre de usuario, contraseña y presiona Enter. Se te pedirá que agregues usuarios al reino:
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 'hitesh' for realm 'ManagementRealm'
Is this correct yes/no? yes
Escribe yes y presiona la tecla Enter para continuar. Una vez que el usuario sea agregado, obtendrás la siguiente salida:
Added user 'hitesh' to file '/opt/wildfly/standalone/configuration/mgmt-users.properties'
Added user 'hitesh' to file '/opt/wildfly/domain/configuration/mgmt-users.properties'
Added user 'hitesh' with groups to file '/opt/wildfly/standalone/configuration/mgmt-groups.properties'
Added user 'hitesh' 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 Jakarta Enterprise Beans calls.
yes/no? yes
To represent the user add the following to the server-identities definition
Una vez que hayas terminado, puedes proceder al siguiente paso.
Instalar y configurar Nginx como un proxy inverso
A continuación, necesitarás configurar Nginx como un proxy inverso para acceder a Wildfly a través del puerto 80.
Primero, instala el paquete Nginx usando el siguiente comando:
apt-get install nginx -yUna vez que Nginx esté instalado, crea un archivo de proxy de Nginx con el siguiente comando:
nano /etc/nginx/conf.d/proxy_headers.confAgrega las siguientes líneas:
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Proto $scheme;
add_header Front-End-Https on;
add_header Cache-Control no-cache;
Guarda y cierra el archivo, luego crea un archivo de configuración de host virtual de Nginx para Wildfly:
nano /etc/nginx/conf.d/wildfly.confAgrega las siguientes líneas:
server {
listen 80;
server_name wildfly.yourdomain.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;
}
}
Guarda y cierra el archivo, luego verifica la sintaxis de Nginx para cualquier error usando el siguiente comando:
ginx -tDeberías ver la siguiente salida:
ginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Finalmente, reinicia el servicio Nginx para aplicar los cambios:
systemctl restart nginxTambién puedes verificar el estado de Nginx usando el siguiente comando:
systemctl status nginxObtendrás la siguiente salida:
? 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 Fri 2021-12-10 15:12:26 UTC; 9s ago
Docs: man:nginx(8)
Process: 22115 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
Process: 22116 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
Main PID: 22117 (nginx)
Tasks: 3 (limit: 4701)
Memory: 3.8M
CGroup: /system.slice/nginx.service
??22117 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
??22118 nginx: worker process
??22119 nginx: worker process
Dec 10 15:12:25 debian11 systemd[1]: Starting A high performance web server and a reverse proxy server...
Dec 10 15:12:26 debian11 systemd[1]: Started A high performance web server and a reverse proxy server.
En este punto, Nginx está instalado y configurado para servir Wildfly. Ahora puedes proceder al siguiente paso.
Acceder a la interfaz web de Wildfly
Ahora, abre tu navegador web y accede a la página de la aplicación Wildfly usando la URL http://wildfly.yourdomain.com. Deberías ver la página predeterminada de Wildfly en la siguiente pantalla:

Para acceder a la consola de administración de Wildfly, escribe la URL http://wildfly.yourdomain.com/console/ en tu navegador web. Se te pedirá que proporciones un nombre de usuario y contraseña de administrador como se muestra a continuación:

Proporciona tu nombre de usuario de administrador, contraseña y haz clic en el botón Iniciar sesión. Una vez que hayas iniciado sesión, deberías ver el panel de administración de Wildfly:

Conclusión
¡Felicidades! has instalado con éxito Wildfly con Nginx como un proxy inverso en Debian 11. Ahora puedes usar Wildfly para alojar tu aplicación Java en Internet. No dudes en preguntarme si tienes alguna pregunta.
Recibe nuevas publicaciones en tu bandeja de entrada.
No spam. Cancela la suscripción en cualquier momento.