Cómo instalar el servidor de aplicaciones Java WildFly con Nginx Reverse Proxy en Ubuntu 20.04

Crear un nuevo usuario y descargar el código fuente de WildFly

WildFly o anteriormente conocido como JBoss AS es una implementación ligera del contenedor JEE (Java Enterprise Edition). Su tiempo de ejecución de aplicaciones flexible está escrito en Java que lo ayuda a crear aplicaciones fantásticas.

WildFly es un tiempo de ejecución de aplicaciones multiplataforma que se ejecuta en los sistemas operativos Linux, macOS y Windows. Creado por JBoss Inc, y en 2006 fue adquirido por RedHat y se convirtió en WildFly.

En este tutorial, le mostraremos cómo instalar WildFly en la última versión de Ubuntu 20.04. Instalaremos la última versión de WildFly 20, habilitaremos la consola de administración para WildFly, crearemos el usuario administrador de WildFly y configuraremos Nginx como un proxy inverso para WildFly.

requisitos previos

Para esta guía, instalaremos WildFly en el último Ubuntu Server 20.04 FocalFossa con 2 GB de RAM, 50 GB de espacio libre en disco y 2 CPU.

¿Que haremos?

  • Instalar Java OpenJDK 11
  • Agregar nuevo usuario y descargar WildFly
  • Configuración básica de WildFly
  • Habilitar la consola de administración de WildFly
  • Configurar usuario administrador para WildFly
  • Configurar Nginx como proxy inverso para WildFly
  • Pruebas

Paso 1 – Instalar Java OpenJDK

Primero, instalaremos Java OpenJDK en el servidor Ubuntu 20.04. Y usaremos Java OpenJDK 11 para nuestra instalación de WildFly, que es la versión predeterminada de los paquetes de Java en el repositorio de Ubuntu 20.04.

Actualice el repositorio de todos los paquetes e instale Java OpenJDK usando el comando apt a continuación.

sudo apt update
sudo apt install default-jdk

Una vez que se complete toda la instalación, verifique la versión de Java usando el siguiente comando.

java -version

A continuación se muestra el resultado que obtendrá.

openjdk version "11.0.7" 2020-04-14
OpenJDK Runtime Environment (build 11.0.7+10-post-Ubuntu-3ubuntu1)
OpenJDK 64-Bit Server VM (build 11.0.7+10-post-Ubuntu-3ubuntu1, mixed mode, sharing)

Como resultado, se completó la instalación de Java OpenJDK en Ubuntu 20.04.

Paso 2: agregue un nuevo usuario y descargue WildFly

En este paso, crearemos un nuevo usuario del sistema y un grupo ‘wildfly’ y descargaremos el código fuente de wildfly al directorio ‘/opt/wildfly’.

Ahora cree un nuevo usuario y grupo llamado ‘wildfly’ usando los comandos a continuación.

groupadd -r wildfly
useradd -r -g wildfly -d /opt/wildfly -s /sbin/nologin wildfly

A continuación, vaya al directorio ‘/opt’ y descargue el código fuente de wildfly usando el comando wget como se muestra a continuación.

cd /opt/
wget -q wget https://download.jboss.org/wildfly/20.0.1.Final/wildfly-20.0.1.Final.tar.gz

El código fuente de wildfly ha sido descargado.

Ahora extraiga el código fuente de wildfly y cambie el nombre del directorio extraído a ‘wildfly’.

tar -xf wildfly-20.0.1.Final.tar.gz
mv wildfly-20.0.1.Final wildfly

Después de eso, cambie la propiedad del directorio ‘wildfly’ al usuario y grupo ‘wildfly’.

chown -RH wildfly:wildfly /opt/wildfly

Como resultado, el directorio de instalación de wildfly se encuentra en el directorio ‘/opt/wildfly’. El servicio wildfly se ejecutará bajo el nuevo usuario llamado ‘wildfly’ que acabamos de crear en la parte superior.

Crear un nuevo usuario y descargar el código fuente de WildFly

Paso 3 – Configuración básica de WildFly

Después de descargar el código fuente de wildfly, configuraremos wildfly en el sistema Ubuntu.

Cree un nuevo directorio de configuración ‘/etc/wildfly’ y copie la configuración de muestra ‘wildfly.conf’ en él.

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

A continuación, copie el archivo de servicio ‘wildfly.service’ en el directorio ‘/etc/systemd/system’.

cp /opt/wildfly/docs/contrib/scripts/systemd/wildfly.service /etc/systemd/system/

Después de eso, copie la muestra del script de inicio de wildfly en el directorio ‘/opt/wildfly/bin’ y hágalo ejecutable.

cp /opt/wildfly/docs/contrib/scripts/systemd/launch.sh /opt/wildfly/bin/
chmod +x /opt/wildfly/bin/*.sh

Ahora vuelva a cargar el administrador systemd para aplicar el nuevo archivo ‘wildfly.service’.

systemctl daemon-reload

Inicie el servicio wildfly y agréguelo al inicio del sistema.

systemctl start wildfly
systemctl enable wildfly

El servicio wildfly está funcionando en el sistema Ubuntu con la configuración predeterminada.

Configuración básica de WildFly

Verifique el servicio wildfly usando el siguiente comando.

ss -plnt
systemctl status wildfly

Y obtendrá el resultado de la siguiente manera.

Inicie WildFly como un servicio de Systemd

Puerto de control de moscas salvajes

Como puede verse, wildfly se ejecuta como un servicio systemd en el puerto TCP predeterminado ‘8080’ en el sistema Ubuntu.

Paso 4: habilite la consola de administración de WildFly

En este paso, configuraremos un wildfly para que se ejecute en la dirección IP local ‘127.0.0.1’ y habilitemos su consola de administración. Editaremos la configuración de wildfly ‘wildfly.conf’, el script de inicio de wildfly ‘launch.sh’ y el archivo de servicio de wildfly ‘wildfly.service’.

Edite la configuración de wildfly ‘/etc/wildfly/wildfly.conf’ usando el editor vim.

vim /etc/wildfly/wildfly.conf

Ahora cambie el valor de ‘WILDFLY_BIND’ con la dirección IP local ‘127.0.0.1’.

WILDFLY_BIND=127.0.0.1

Para habilitar la consola de administración de wildfly, agregue la configuración ‘WILDFLY_CONSOLE_BIND’ a continuación.

WILDFLY_CONSOLE_BIND=127.0.0.1

Guardar y cerrar.

A continuación, edite el script de inicio de lanzamiento para wildfly ‘/opt/wildfly/bin/launch.sh’ usando el editor vim.

vim /opt/wildfly/bin/launch.sh

Sobre el ‘dominio.sh‘ y ‘standalone.sh‘ líneas, agregue una opción adicional para habilitar la consola de administración de wildfly 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

Guardar y cerrar.

A continuación, edite el archivo de servicio predeterminado para wildfly ‘/etc/systemd/system/wildfly.service’ usando el editor vim.

vim /etc/systemd/system/wildfly.service

Sobre el ‘ExecStart=/opt/wildfly/bin/launch.sh….‘ línea, agregue la opción ‘$WILDFLY_CONSOLE_BIND‘ como a continuación.

ExecStart=/opt/wildfly/bin/launch.sh $WILDFLY_MODE $WILDFLY_CONFIG $WILDFLY_BIND $WILDFLY_CONSOLE_BIND

Guardar y cerrar.

Ahora vuelva a cargar el administrador systemd y reinicie el servicio wildfly.

systemctl daemon-reload
systemctl restart wildfly

WildFly Habilitar consola de administración

El servicio wildfly se está ejecutando con la consola de administración habilitada, compruébelo con el siguiente comando.

ss -plnt
systemctl status wildfly

A continuación se muestra el resultado que obtendrá.

Servicio y puerto de comprobación de WildFly

Como resultado, el wildfly se ejecuta en la dirección IP local ‘127.0.0.1‘ con el puerto TCP predeterminado ‘8080‘, y la consola de administración de wildfly habilitada en el puerto TCP ‘9990‘.

Paso 5: configurar el usuario administrador WildFly

En este paso, crearemos un nuevo usuario para administrar wildfly usando el script ‘add-user.sh’ proporcionado por wildfly.

Ejecute el script wildfly ‘add-user.sh’ como se muestra a continuación.

sh /opt/wildfly/bin/add-user.sh

Para el tipo de usuario, escriba ‘a‘ para crear el usuario de administración (administrador para administrar wildfly).

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

Ahora escriba su nombre de usuario y contraseña, y asegúrese de usar la contraseña segura.

Enter the details of the new user to add.
Using the realm 'ManagementRealm' as discovered from the existing property files.
Username : hakase
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 :

Para el grupo del nuevo usuario, simplemente presione ‘Ingresar‘ continuar.

What groups do you want this user to belong to? (Please enter a comma separated list, or leave blank for none)[  ]:

A continuación, escriba ‘‘ para agregar su usuario al ‘GestiónReino‘ en la mosca salvaje.

About to add user 'hakase' for realm 'ManagementRealm'
Is this correct yes/no? yes
Added user 'hakase' to file '/opt/wildfly/standalone/configuration/mgmt-users.properties'
Added user 'hakase' to file '/opt/wildfly/domain/configuration/mgmt-users.properties'
Added user 'hakase' with groups  to file '/opt/wildfly/standalone/configuration/mgmt-groups.properties'
Added user 'hakase' with groups  to file '/opt/wildfly/domain/configuration/mgmt-groups.properties'

Escribe ‘‘ para habilitar a su usuario como un proceso para administrar el controlador de host maestro-esclavo de wildfly.

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="YXNoN2RhNjVzZyMkJQ==" />

Como resultado, se ha creado el usuario administrador y administrador de wildfly.

Paso 6: configure Nginx como un proxy inverso para WildFly

En este paso, instalaremos y configuraremos Nginx como proxy inverso para wildfly en el sistema Ubuntu.

Instale los paquetes Nginx usando el comando apt a continuación.

sudo apt install nginx -y

Una vez finalizada toda la instalación, vaya al directorio de configuración ‘/etc/nginx/’.

cd /etc/nginx/

Cree un nuevo archivo ‘proxy_headers.conf’ en el directorio ‘/etc/nginx/conf.d’ usando el editor vim.

vim conf.d/proxy_headers.conf

Pegue la siguiente configuración.

proxy_set_header Host $host;
proxy_set_header X-Forwarded-Proto $scheme;
add_header Front-End-Https on;
add_header Cache-Control no-cache;

Guardar y cerrar.

A continuación, cree una nueva configuración de host virtual para wildfly en el directorio ‘/etc/nginx/sites-available’.

vim sites-available/wildfly

Cambia la dirección IP por la tuya y pega la configuración en ella.

server {
  listen          80;
  server_name     SERVER-IP;

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;
}

}


Guardar y cerrar.

A continuación, active el host virtual wildfly y verifique la configuración de Nginx.

ln -s /etc/nginx/sites-available/wildfly /etc/nginx/sites-enabled/
nginx -t

Ahora asegúrese de que no haya ningún error, luego reinicie el servicio Nginx.

systemctl restart nginx

Como resultado, se completó la instalación y configuración de Nginx como proxy inverso para wildfly.

configurar Nginx como un proxy inverso para WildFly

Paso 7 – Prueba

Abra su navegador web y escriba la dirección IP de su servidor en la barra de direcciones.

http://192.168.1.50/

Ahora obtendrá la página de índice predeterminada de wildfly como se muestra a continuación.

Índice predeterminado de WildFly

A continuación, acceda a la consola de administración de wildfly en la ruta URL ‘/console’ como se muestra a continuación.

http://192.168.1.50/consola/

Inicie sesión con su usuario y contraseña de administrador de wildfly.

Administrador de inicio de sesión de WildFly

Ahora obtendrá el panel de administración de wildfly como se muestra a continuación.

Panel de control de la consola de administración de WildFly

Como resultado, la instalación de wildfly con el proxy inverso Nginx en el servidor Ubuntu 20.04 se completó con éxito.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *