
WildFly , ранее известный как JBoss, — это кроссплатформенная среда выполнения приложений с открытым исходным кодом, написанная на Java, которая помогает создавать потрясающие приложения. WildFly — гибкая, лёгкая и основана на подключаемых подсистемах, которые можно добавлять или удалять по мере необходимости.
В этом руководстве объясняется, как установить сервер приложений WildFly на CentOS 7.
Предпосылки
Чтобы иметь возможность устанавливать пакеты в системе CentOS, вам необходимо войти в систему как пользователь с доступом sudo .
Шаг 1: Установка Java OpenJDK
Для WildFly 9 требуется Java SE 8 или более поздняя версия. В этом руководстве мы установим OpenJDK — реализацию платформы Java с открытым исходным кодом, которая является средой разработки и выполнения Java по умолчанию в CentOS 7.
Установите пакет OpenJDK, выполнив:
sudo yum install java-1.8.0-openjdk-devel
Шаг 2: Создайте пользователя
Запуск WildFly от имени пользователя root представляет угрозу безопасности и не считается рекомендуемой практикой.
Чтобы создать нового системного пользователя и группу с именем wildfly и домашним каталогом /opt/wildfly , выполните:
sudo groupadd -r wildflysudo useradd -r -g wildfly -d /opt/wildfly -s /sbin/nologin wildfly
Шаг 3: Установка WildFly
На момент написания статьи последняя версия WildFly — 16.0.0 . Прежде чем перейти к следующему шагу, проверьте наличие новой версии на странице загрузки . Если она есть, замените переменную WILDFLY_VERSION в команде ниже.
Загрузите архив WildFly в каталог /tmp с помощью следующей команды wget :
WILDFLY_VERSION=16.0.0.Finalwget https://download.jboss.org/wildfly/$WILDFLY_VERSION/wildfly-$WILDFLY_VERSION.tar.gz -P /tmp
После завершения загрузки распакуйте файл tar.gz и переместите его в каталог /opt :
sudo tar xf /tmp/wildfly-$WILDFLY_VERSION.tar.gz -C /opt/
Далее создайте символическую ссылку wildfly , которая будет указывать на каталог установки WildFly:
sudo ln -s /opt/wildfly-$WILDFLY_VERSION /opt/wildfly
WildFly будет работать под учетной записью пользователя wildfly , которому необходим доступ к каталогу установки WildFly.
Измените владельца каталога на пользователя и группу wildfly с помощью следующей команды chown :
sudo chown -RH wildfly: /opt/wildfly
Шаг 4: Настройка Systemd
Пакет WildFly включает файлы, необходимые для запуска WildFly как службы.
Начните с создания каталога , в котором будет храниться файл конфигурации WildFly:
sudo mkdir -p /etc/wildfly
Скопируйте файл конфигурации в каталог /etc/wildfly :
sudo cp /opt/wildfly/docs/contrib/scripts/systemd/wildfly.conf /etc/wildfly/
Этот файл позволяет указать режим WildFly и адрес привязки. По умолчанию WildFly работает в автономном режиме и прослушивает все интерфейсы. Вы можете отредактировать файл по своему усмотрению.
/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 в каталог /opt/wildfly/bin/ :
sudo cp /opt/wildfly/docs/contrib/scripts/systemd/launch.sh /opt/wildfly/bin/
Скрипты внутри каталога bin должны иметь флаг исполняемости :
sudo sh -c 'chmod +x /opt/wildfly/bin/*.sh'
Скопируйте указанный файл модуля systemd в каталог /etc/systemd/system/ :
sudo cp /opt/wildfly/docs/contrib/scripts/systemd/wildfly.service /etc/systemd/system/
Уведомляем systemd о создании нового файла модуля:
sudo systemctl daemon-reload
Запустите службу WildFly и включите ее автоматический запуск при загрузке, выполнив команду:
sudo systemctl start wildflysudo systemctl enable wildfly
Убедитесь, что служба запущена:
sudo systemctl status wildfly
● wildfly.service - The WildFly Application Server Loaded: loaded (/etc/systemd/system/wildfly.service; disabled; vendor preset: disabled) Active: active (running) since Fri 2019-03-01 20:13:39 UTC; 3s ago Main PID: 3680 (launch.sh) CGroup: /system.slice/wildfly.service
Шаг 5: Настройте брандмауэр
Если ваш сервер защищен брандмауэром и вы хотите получить доступ к экземпляру WildFly извне локальной сети, вам также необходимо открыть порт 8080.
Чтобы открыть необходимый порт, используйте следующие команды:
sudo firewall-cmd --zone=public --permanent --add-port=8080/tcpsudo firewall-cmd --reload
При запуске приложения WildFly в производственной среде у вас, скорее всего, будет использоваться балансировщик нагрузки или обратный прокси-сервер , и лучше всего ограничить доступ к порту 8080 только вашей внутренней сетью.
Шаг 6: Настройка аутентификации WildFly
Теперь, когда WildFly установлен и запущен, следующим шагом будет создание пользователя, который сможет подключаться с помощью консоли администрирования или удаленно с помощью CLI.
Чтобы добавить нового пользователя, используйте скрипт add-user.sh , который находится в каталоге bin 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 :
Далее скрипт предложит вам ввести данные нового пользователя:
Enter the details of the new user to add. Using realm 'ManagementRealm' as discovered from the existing property files. Username : linuxize 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 'linuxize' for realm 'ManagementRealm' Is this correct yes/no? yes Added user 'linuxize' to file '/opt/wildfly-16.0.0.Final/standalone/configuration/mgmt-users.properties' Added user 'linuxize' to file '/opt/wildfly-16.0.0.Final/domain/configuration/mgmt-users.properties' Added user 'linuxize' with groups to file '/opt/wildfly-16.0.0.Final/standalone/configuration/mgmt-groups.properties' Added user 'linuxize' with groups to file '/opt/wildfly-16.0.0.Final/domain/configuration/mgmt-groups.properties' Is this new user going to be used for one AS process to connect to another AS process? eg 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
Новый пользователь будет добавлен в файлы свойств, используемые для аутентификации.
Шаг 6: Проверка установки WildFly
Чтобы получить доступ к странице WildFly по умолчанию, откройте браузер и введите: http://
Если установка прошла успешно, появится экран, подобный следующему:

Шаг 7: Доступ к консоли администрирования WildFly
Интерфейс командной строки
Для доступа к консоли администрирования WildFly из командной строки можно использовать скрипт jboss-cli.sh .
Перейдите в каталог bin WildFly и запустите скрипт с опцией --connect :
cd /opt/wildfly/bin/./jboss-cli.sh --connect
Вам будет предложено ввести имя пользователя и пароль администратора (созданы на шаге 6):
Authenticating against security realm: ManagementRealm Username: linuxize Password:
После входа в систему приглашение консоли изменится на [standalone@localhost:9990 /] . Введите help , чтобы получить список команд и их синтаксис.
Отсюда вы можете развертывать и сворачивать свои приложения, управлять пользователями и группами, а также настраивать и контролировать сервер WildFly.
Веб-интерфейс
Если вы предпочитаете управлять своим сервером через графический интерфейс, WildFly также предоставляет веб-консоль.
По умолчанию консоль администрирования WildFly доступна только с локального хоста по адресу http://localhost:9990/console . Войдите в систему, используя имя пользователя, созданного на шаге 6.

Если вы хотите получить доступ к консоли из удаленных мест, вам потребуется внести небольшие изменения в файлы wildfly.service , wildfly.conf и launch.sh .
Откройте wildfly.conf и добавьте WILDFLY_CONSOLE_BIND=0.0.0.0 в конец файла.
/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 # The address console to bind to WILDFLY_CONSOLE_BIND = 0.0.0.0
Откройте launch.sh и отредактируйте выделенные строки:
/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
Перезапустите службу, чтобы изменения вступили в силу:
sudo systemctl restart wildfly
Откройте wildfly.service и отредактируйте выделенные строки:
/etc/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
Создайте каталог /var/run/wildfly и установите правильные разрешения:
sudo mkdir /var/run/wildfly/sudo chown wildfly: /var/run/wildfly/
Уведомить systemd об изменении файла модуля:
sudo systemctl daemon-reload
Перезапустите службу WildFly, выполнив:
sudo systemctl restart wildfly
Если порт 9990 не заблокирован в вашем брандмауэре, вы сможете получить доступ к консоли администрирования WildFly по адресу http:// .
Заключение
Вы успешно установили WildFly на свою систему CentOS 7. Теперь вы можете ознакомиться с официальной документацией WildFly и узнать больше о его функциях.
Если у вас возникла проблема или вы хотите оставить отзыв, оставьте комментарий ниже.
java wildfly centos Не используете CentOS 7?
Выберите другую ОС: дебиан 9 убунту 18.04
Связанные руководства