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

Установите сервер WildFly (JBoss) на CentOS 8/CentOS 7 |


В этом сообщении блога мы обсудим шаги, необходимые для установки сервера WildFly (JBoss) на CentOS 8/CentOS 7.  WildFly, ранее известный как JBoss, — это сервер приложений, написанный на Java и разработанный Red Hat. Это исключительно быстрая, легкая и мощная реализация спецификаций платформы Java Enterprise Edition 8.

Предварительные условия установки

  • Сервер CentOS/RHEL 8 или CentOS/RHEL 7
  • Среда выполнения Java
  • Пользователь с sudo или root-доступом
  • Подключение к Интернету на вашем Сервере

Шаг 1. Установите Java JDK

На сервере, на котором будет работать сервер приложений WildFly, требуется Java. Используйте наши руководства ниже для установки Java на CentOS/RHEL 7 | 8.

  • Установите Java 11 (OpenJDK 11) на RHEL/CentOS 8.
  • Как установить Java 11 на CentOS 7

Если вы хотите использовать Java 11, просто выполните приведенные ниже команды, чтобы установить ее.

sudo yum install java-11-openjdk-devel

Вы можете проверить версию Java по умолчанию на вашем компьютере, используя:

$ java --version
openjdk 11.0.13 2021-10-19 LTS
OpenJDK Runtime Environment 18.9 (build 11.0.13+8-LTS)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.13+8-LTS, mixed mode, sharing)

Шаг 2. Загрузите архив релиза WildFly.

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

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/wildfly.

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

Шаг 3. Настройте Systemd для WildFly

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

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

Создайте каталог конфигураций WildFly.

sudo mkdir /etc/wildfly

Скопируйте сервис WildFly systemd, файл конфигурации и шаблоны стартовых сценариев из каталога /opt/wildfly/docs/contrib/scripts/systemd/ .

sudo cp /opt/wildfly/docs/contrib/scripts/systemd/wildfly.conf /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

Установите разрешения /opt/wildfly .

sudo chown -R wildfly:wildfly /opt/wildfly

Перезагрузите службу systemd.

sudo systemctl daemon-reload

Настроить SELinux:

sudo semanage fcontext  -a -t bin_t  "/opt/wildfly/bin(/.*)?"
sudo restorecon -Rv /opt/wildfly/bin/

Запустите и включите сервис WildFly:

sudo systemctl start wildfly
sudo systemctl enable wildfly

Подтвердите статус сервера приложений WildFly.

$ systemctl status wildfly
 ● wildfly.service - The WildFly Application Server
    Loaded: loaded (/etc/systemd/system/wildfly.service; enabled; vendor preset: disabled)
    Active: active (running) since Wed 2023-04-03 16:22:58 EAT; 6s ago
  Main PID: 31303 (launch.sh)
     Tasks: 119 (limit: 11510)
    Memory: 330.8M
    CGroup: /system.slice/wildfly.service
            ├─31303 /bin/bash /opt/wildfly/bin/launch.sh standalone standalone.xml 0.0.0.0
            ├─31304 /bin/sh /opt/wildfly/bin/standalone.sh -c standalone.xml -b 0.0.0.0
            └─31396 java -D[Standalone] -server -Xms64m -Xmx512m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stack=true -Djbos>
 Apr 03 16:22:58 rhel8.local systemd[1]: Started The WildFly Application Server.

Служба должна быть привязана к порту 8080.

$ sudo ss -tunelp | grep 8080
tcp    LISTEN   0   128    0.0.0.0:8080  0.0.0.0:*  users:(("java",pid=6854,fd=389)) uid:999 ino:30339 sk:3 <-> 

Шаг 4. Добавьте пользователей WildFly в систему

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

Запустите его, выполнив команду:

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

Вам будет предложено выбрать тип пользователя для добавления. Поскольку это первый пользователь, мы хотим сделать его администратором. Итак, выберите a.

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

Установите пароль для пользователя:

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>

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

What groups do you want this user to belong to? (Please enter a comma separated list, or leave blank for none)[  ]: <Enter>
 About to add user 'computingforgeeks' for realm 'ManagementRealm'
 Is this correct yes/no? yes
 Added user 'computingforgeeks' to file '/opt/wildfly/standalone/configuration/mgmt-users.properties'
 Added user 'computingforgeeks' to file '/opt/wildfly/domain/configuration/mgmt-users.properties'
 Added user 'computingforgeeks' with groups  to file '/opt/wildfly/standalone/configuration/mgmt-groups.properties'
 Added user 'computingforgeeks' 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 EJB calls.
 yes/no? yes
 To represent the user add the following to the server-identities definition 

Заметить, что:

Информация о пользователе хранится по адресу: /opt/wildfly/domain/configuration/mgmt-users.properties
Информация о группе хранится: /opt/wildfly/standalone/configuration/mgmt-groups.properties

Шаг 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

Теперь проверьте, подключившись к консоли администратора WildFly из CLI с помощью команды jboss-cli.sh.

$ jboss-cli.sh --connect
Authenticating against security realm: ManagementRealm
Username: <enter-created-username>
Password: <enter-assigned-password>
[standalone@localhost:9990 /] version
JBoss Admin Command-line Interface
JBOSS_HOME: /opt/wildfly
Release: 29.0.1.Final
Product: WildFly Full 29.0.1.Final
JAVA_HOME: null
java.version: 11.0.13
java.vm.vendor: Red Hat, Inc.
java.vm.version: 11.0.13+8-LTS
os.name: Linux
os.version: 4.18.0-305.7.1.el8_4.x86_64
[standalone@localhost:9990 /] exit

Доступ к консоли администратора WildFly из веб-интерфейса

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

$ sudo 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 , чтобы он выглядел следующим образом:

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

Подтверждать

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

Открыть порты на брандмауэре

sudo firewall-cmd --permanent --add-port={8080,9990}/tcp
sudo firewall-cmd --reload

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

Используйте имя пользователя, созданное ранее, и пароль для аутентификации. Следующим окном будет консоль WildFly.

Вы успешно установили сервер приложений WildFly на RHEL/CentOS 8/7. Посетите страницу документации WildFly для дальнейшего чтения.

Если вы являетесь пользователем Ubuntu/Debian, проверьте: Установите сервер приложений WildFly (JBoss) в Ubuntu.


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