Установите сервер 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.