Как установить 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