Поиск по сайту:

Как установить WildFly (JBoss) в Debian 11/Debian 10 |


WildFly — это мощный и легкий сервер приложений, созданный, чтобы помочь вам с легкостью создавать потрясающие приложения. Модульная конструкция позволяет легко расширить функциональные возможности. Модули JBoss используются для обеспечения истинной изоляции приложения и сокрытия классов реализации сервера от приложения, при этом связываясь только с JAR-файлами, необходимыми вашему приложению. WildFly предоставляет возможности управления, которые унифицированно доступны для многих форм доступа: CLI, веб-консоль администрирования, собственный Java API, REST API на основе HTTP/JSON и шлюз JMX.

В этой статье мы обсудим процесс установки WildFly (JBoss) в системе Debian 11/Debian 10. Проект WildFly теперь предлагает два варианта сервера приложений: стандартный WildFly и WildFly Preview. Вы должны выбрать тот, который соответствует вашим потребностям. В этом посте мы сосредоточимся на настройке стандартного варианта WildFly. Мы будем использовать дистрибутив WildFly, который содержит большое количество конфигураций по умолчанию, позволяющих выбирать функции сервера и режимы работы.

Установите WildFly (JBoss) в Debian 11/Debian 10.

Для установки и настройки выполните действия, описанные в следующих разделах.

1) Установите Java в вашу систему Debian.

Мы начнем настройку с установки Java в нашей системе Debian. Запустите команды ниже, чтобы установить последнюю версию JDK, распространяемую в репозиториях вашей ОС:

sudo apt update
sudo apt install default-jdk

После установки подтвердите установку, проверив версию Java:

$ java -version
openjdk version "11.0.13" 2021-10-19
OpenJDK Runtime Environment (build 11.0.13+8-post-Debian-1deb11u1)
OpenJDK 64-Bit Server VM (build 11.0.13+8-post-Debian-1deb11u1, mixed mode, sharing)

Установив и работая Java в нашей системе, мы можем перейти к следующему шагу.

2) Загрузите заархивированный дистрибутив WildFly.

Мы будем использовать заархивированный дистрибутив для установки полноценного сервера WildFly с поддержкой как автономного, так и управляемого режимов работы домена.

Загрузите файл архива с помощью wget

sudo apt install wget curl
WILDFLY_RELEASE=$(curl -s https://api.github.com/repos/wildfly/wildfly/releases/latest|grep tag_name|cut -d '"' -f 4)
wget https://github.com/wildfly/wildfly/releases/download/${WILDFLY_RELEASE}/wildfly-${WILDFLY_RELEASE}.tar.gz

Извлеките загруженный файл:

tar xvf wildfly-${WILDFLY_RELEASE}.tar.gz

Переместите загруженный файл в каталог /opt:

sudo mv wildfly-${WILDFLY_RELEASE} /opt/wildfly

3) Настроить WildFly в системе Debian Linux

В этом разделе мы создадим пользователя wildfly и сервисный модуль systemd для

sudo groupadd --system wildfly
sudo useradd -s /sbin/nologin --system -d /opt/wildfly  -g wildfly wildfly

Далее мы создали каталог, в котором размещены файлы конфигурации для

sudo mkdir /etc/wildfly

Скопируйте все файлы, необходимые для управления

sudo cp /opt/wildfly/docs/contrib/scripts/systemd/wildfly.service /etc/systemd/system/
sudo cp /opt/wildfly/docs/contrib/scripts/systemd/launch.sh /opt/wildfly/bin/
sudo chmod +x /opt/wildfly/bin/launch.sh
sudo cp /opt/wildfly/docs/contrib/scripts/systemd/wildfly.conf /etc/wildfly/

Правильно установите права доступа к каталогу:

sudo chown -R wildfly:wildfly /opt/wildfly

Перезагружаем системные блоки и запускаем службу:

sudo systemctl daemon-reload
sudo systemctl start wildfly
sudo systemctl enable wildfly

Проверить, если

$ systemctl status wildfly
● wildfly.service - The WildFly Application Server
     Loaded: loaded (/etc/systemd/system/wildfly.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2021-12-24 09:42:22 UTC; 42s ago
   Main PID: 46946 (launch.sh)
      Tasks: 51 (limit: 2340)
     Memory: 291.8M
        CPU: 7.659s
     CGroup: /system.slice/wildfly.service
             ├─46946 /bin/bash /opt/wildfly/bin/launch.sh standalone standalone.xml 0.0.0.0
             ├─46947 /bin/sh /opt/wildfly/bin/standalone.sh -c standalone.xml -b 0.0.0.0
             └─47040 java -D[Standalone] -server -Xms64m -Xmx512m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stack=true -Djboss.modules.system.pkgs=org.jboss.byteman -Djav>

Dec 24 09:42:22 debian-bullseye-01 systemd[1]: Started The WildFly Application Server.
Dec 24 09:42:27 debian-bullseye-01 systemd[1]: /etc/systemd/system/wildfly.service:11: PIDFile= references a path below legacy directory /var/run/, updating /var/run/wildfly/wildfly.pid → /run/wild>
lines 1-14/14 (END)

Служба будет привязана к порту 8080 в системе. Убедитесь, что этот порт не используется какой-либо другой службой.

debian@debian-bullseye-01:~$ ss -tunelp | grep 8080
tcp   LISTEN 0      4096                            0.0.0.0:8080       0.0.0.0:*    uid:997 ino:208664 sk:9 cgroup:/system.slice/wildfly.service <->

4) Создание пользователей управления/приложений в WildFly

WildFly распространяется с включенной защитой интерфейсов управления. Первый управляющий пользователь создается вручную с помощью скрипта, распространяемого приложением.

Мы можем выполнить команду ниже, чтобы добавить первого пользователя:

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

Выберите тип пользователя, которого необходимо добавить в систему. Мы выберем a для создания первого пользователя-администратора. Для приложения, созданного пользователем, выберите b:

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 : myadminuser

Введите и подтвердите пароль пользователя:

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 : <Enter Password>
Re-enter Password :  <Confirm 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 'myadminuser' for realm 'ManagementRealm'
Is this correct yes/no? yes
Added user 'myadminuser' to file '/opt/wildfly/standalone/configuration/mgmt-users.properties'
Added user 'myadminuser' to file '/opt/wildfly/domain/configuration/mgmt-users.properties'
Added user 'myadminuser' with groups  to file '/opt/wildfly/standalone/configuration/mgmt-groups.properties'
Added user 'myadminuser' 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 <secret value="UGFzc3dvcmRAMzIxIQ==" />

5) Доступ к консоли администратора WildFly

Все двоичные файлы и скрипты WildFly расположены в каталоге /opt/wildfly/bin/. Этот каталог должен находиться в нашем PATH. Добавим его соответственно:

cat >> ~/.bashrc <<EOF
export WildFly_BIN="/opt/wildfly/bin/"
export PATH=\$PATH:\$WildFly_BIN                                                                                                                    
EOF

Перед использованием сценария создайте файл bashrc.

source ~/.bashrc

Используйте команду jboss-cli.sh для доступа к консоли WildFly CLI:

$ jboss-cli.sh --connect
Authenticating against security realm: ManagementRealm
Username: myadminuser
Password: <INPUT-REQUIRED-PASSWORD>
[standalone@localhost:9990 /] version
JBoss Admin Command-line Interface
JBOSS_HOME: /opt/wildfly
Release: 26.0.1.Final
Product: WildFly Full 26.0.1.Final
JAVA_HOME: null
java.version: 11.0.13
java.vm.vendor: Debian
java.vm.version: 11.0.13+8-post-Debian-1deb11u1
os.name: Linux
os.version: 5.10.0-8-amd64

Введите exit, чтобы выйти из консоли.

[standalone@localhost:9990 /] exit

6) Доступ к консоли администратора WildFly

По умолчанию консоль доступна по IP-адресу локального хоста через порт 9990.

$ ss -tunelp | grep 9990
tcp    LISTEN   0    50    127.0.0.1:9990  0.0.0.0:* users:(("java",pid=6769,fd=404)) uid:999 ino:30407 sk:3 <-> 

Мы можем запустить его на другом IP-адресе, доступном за пределами локального сервера. Отредактируйте /opt/wildfly/bin/launch.sh, чтобы он выглядел следующим образом:

$ sudo vim /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
else
    $WILDFLY_HOME/bin/standalone.sh -c $2 -b $3 -bmanagement=0.0.0.0
fi

Мы добавили -bmanagement=0.0.0.0 в начало строки сценария. Это привяжет интерфейс «управления» ко всем доступным IP-адресам.

Перезапустите службу wildfly.

sudo systemctl restart wildfly

Проверьте статус службы, чтобы убедиться, что она прошла успешно.

$ systemctl status  wildfly
● wildfly.service - The WildFly Application Server
     Loaded: loaded (/etc/systemd/system/wildfly.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2021-12-24 12:11:21 EAT; 6s ago
   Main PID: 8205 (launch.sh)
      Tasks: 70 (limit: 9482)
     Memory: 159.8M
        CPU: 12.265s
     CGroup: /system.slice/wildfly.service
             ├─8205 /bin/bash /opt/wildfly/bin/launch.sh standalone standalone.xml 0.0.0.0
             ├─8206 /bin/sh /opt/wildfly/bin/standalone.sh -c standalone.xml -b 0.0.0.0 -bmanagement=0.0.0.0
             └─8305 java -D[Standalone] -server -Xms64m -Xmx512m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stack=true -Djboss.modules.system.pkgs=org.jboss.byteman -Djava>

Des 24 12:11:21 ubuntu22 systemd[1]: Started The WildFly Application Server.

Подтвердите, что порт 9990 прослушивается:

$ ss -tunelp | grep 9990
tcp    LISTEN   0  50     0.0.0.0:9990  0.0.0.0:*  users:(("java",pid=9496,fd=320)) uid:999 ino:73367 sk:c <->

Откройте браузер и введите URL-адрес http://serverip:9990 для доступа к веб-консоли WildFly.

Введите имя пользователя и пароль, созданные ранее, для доступа к веб-консоли администрирования WildFly:

После успешного доступа к веб-консоли. Изучите различные разделы, чтобы понять, как это выглядит и работает. Основные разделы интерфейса:

  • Развертывания: добавление развертываний и управление ими.
  • Конфигурация: настройка параметров подсистемы
  • Среда выполнения: мониторинг состояния сервера
  • Контроль доступа: управление разрешениями пользователей и групп для операций управления.
  • Исправление: управление полными исправлениями WildFly

Пример снимка экрана раздела «Время выполнения»

На данный момент мы успешно установили WildFly в системе Debian 11/Debian 10 Linux. Посетите страницу документации WildFly для дальнейшего чтения, чтобы понять все концепции, как это работает и как вы можете начать размещать свои приложения на сервере приложений WildFly.

У нас есть еще интересный контент, который вы можете посмотреть:

  • Лучшие книги для изучения Веб-серверы Tomcat|Jboss|Jetty
  • Как запустить сервер Mattermost в контейнерах Docker
  • Развертывание бессерверной платформы OpenFaaS в Kubernetes
  • Книги для изучения Rabbitmq/Activemq/Zeromq

Статьи по данной тематике: