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

Как установить WildFly на Rocky Linux 8 | AlmaLinux 8 |


WildFly, первоначально известный как Сервер приложений JBoss, представляет собой исключительно быструю и легкую реализацию контейнера JEE (Java Enterprise Edition) с открытым исходным кодом. WildFly написан на Java и разработан RedHat для управления средой выполнения приложений и их создания. Этот инструмент был разработан в 2006 году компанией JBoss Inc, а затем приобретен RedHat и стал WildFly. Название было изменено из-за путаницы, которую внесли в портфолио названия продуктов. WildFly может работать в нескольких операционных системах с поддержкой как 32-, так и 64-битных версий.

Последняя версия WildFly 26 содержит множество функций и улучшений. Удивительные возможности WildFly:

  • Легкость – WildFly использует агрессивный подход к управлению памятью. Базовые службы среды выполнения были разработаны для минимизации выделения кучи за счет использования общих кэшированных индексированных метаданных вместо дублирующихся полных анализов, что уменьшает количество кучи и обработку объектов.
  • На основе стандартов – WildFly реализует новейшие корпоративные стандарты Java от Jakarta EE и Eclipse MicroProfile. Они повышают производительность разработчиков, предоставляя богатые корпоративные возможности в простых в использовании средах, которые устраняют шаблонность и снижают техническую нагрузку.
  • Модульность – WildFly правильно загружает классы. Он использует модули JBoss для обеспечения истинной изоляции приложения, скрывая классы реализации сервера от приложения и связываясь только с JAR-файлами, необходимыми вашему приложению.
  • Мощность. Конфигурация WildFly централизована, проста и ориентирована на пользователя. Файл конфигурации организован по подсистемам, которые вы можете легко понять, и внутренняя проводка сервера не раскрывается.

Цель этого руководства — продемонстрировать, как установить последнюю версию WildFly на Rocky Linux 8 | АльмаЛинукс 8.

Начало работы.

Для этого руководства вам понадобится следующее:

  • Рокки Линукс 8 | Система АльмаЛинукс 8.
  • Память выше 2 ГБ ОЗУ

Также убедитесь, что пакеты в вашей системе обновлены до последних доступных версий.

sudo yum update

Теперь используйте следующие шаги для установки WildFly на Rocky Linux 8 | АльмаЛинукс 8

Шаг 1. Установите Java в Rocky Linux 8 | АльмаЛинукс 8

Поскольку WildFly построен на Java, прежде чем продолжить, нам необходимо установить Java. Для этого руководства мы установим Java OpenJDK 11.

sudo yum install java-11-openjdk-devel

После установки проверьте версию 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)

Шаг 2. Установите WildFly на Rocky Linux 8 | AlmaLinux 8.

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

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

Теперь приступайте к загрузке последней версии WildFly с официального сайта WildFly. Для этого руководства мы загрузим файл Jarkata EE Full & Web Distribution TGZ с помощью Wget, как показано ниже.

sudo yum -y 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

Установите право собственности на файл для созданного пользователя Wildfly.

sudo chown -RH wildfly:wildfly /opt/wildfly

Шаг 3. Создайте сервис Systemd для WildFly.

Мы начнем с создания конфигураций WildFly в каталоге /etc, как показано ниже.

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

Просмотрите содержимое конфигурации.

$ 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

Судя по приведенному выше выводу, мы можем согласиться с тем, что WildFly по умолчанию работает в автономном режиме, но вы все равно можете настроить его по своему усмотрению.

Затем скопируйте сценарий launch.sh, необходимый для запуска WildFly как службы.

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

Теперь скопируйте служебный файл для WildFly.

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

Вам также понадобится каталог для хранения PID-файла.

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

Теперь запустите и включите WildFly в Rocky Linux 8 | АльмаЛинукс 8.

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

Проверьте статус услуги.

$ 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 2023-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.

Настройте брандмауэр, чтобы разрешить порт WildFly через него.

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

На этом этапе WildFly должен быть доступен через порт 8080.

Шаг 4. Настройка консоли администратора WildFly для удаленного доступа

По умолчанию консоль администратора WildFly работает на локальном хосте. Если мы хотим получить к нему доступ через удаленный хост, нам необходимо выполнить некоторые настройки.

Сначала нам нужно создать пользователя с правами администратора, чтобы мы могли войти в консоль администратора 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 : klinsmann
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 'klinsmann' for realm 'ManagementRealm'
Is this correct yes/no? yes
....
Added user 'klinsmann' 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" />

Далее мы создадим переменную среды для WildFly.

$ sudo vi /etc/wildfly/wildfly.conf

# The address to bind console to
WILDFLY_CONSOLE_BIND=0.0.0.0

Также отредактируйте скрипт 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

Также отредактируйте служебный файл WildFly.

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

Отредактируйте файл, как показано ниже:

[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

Перезагрузите системный демон и перезапустите службу WildFly.

sudo systemctl daemon-reload
sudo systemctl restart wildfly.service

Теперь разрешите порт консоли администрирования WildFly через брандмауэр.

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

Отключите SELinux.

sudo setenforce 0

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

Теперь перейдите к консоли администратора WildFly, используя URL-адрес http://IP_address:9990/console.

Предоставьте созданные учетные данные администратора.

Теперь мы развернем пример Java-приложения на сервере WildFly. Сначала загрузите Java-приложение Helloworld с GitHub, как показано ниже.

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

Просмотрите доступные файлы.

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

В приведенном выше выводе файл с именем *.deployed показывает, что приложение было успешно развернуто, в противном случае файл будет называться *.failed. . Вы можете просмотреть журналы WildFly, как показано ниже.

$ 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")

Развертывание можно просмотреть в браузере по URL-адресу http://IP_address:8080/helloworld/.

Вуаля!

Это означает конец данного руководства. Мы успешно настроили сервер WildFly на Rocky Linux 8 | AlmaLinux 8, а также развернул образец приложения. Теперь продолжайте и используйте WildFly для создания приложений и управления ими.

Похожие сообщения:

  • Установите сервер WildFly (JBoss) на CentOS
  • Как установить WildFly (JBoss) в Ubuntu
  • Как установить WildFly (JBoss) на Debian

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