WildFly — это кроссплатформенный сервер приложений с открытым исходным кодом, разработанный RedHat. Он написан на Java и используется для разработки Java-приложений. Он простой, гибкий, легкий и основан на подключаемых подсистемах, которые можно добавлять или удалять в соответствии с вашими требованиями. Он поставляется с простой и удобной панелью инструментов и призван предоставить пользователям быструю и стабильную среду выполнения Java.
В этом руководстве мы покажем вам, как установить Wildfly с Nginx в качестве обратного прокси-сервера в CentOS 8. Те же шаги будут работать и в AlmaLinux 8 и Rocky Linux 8.
Реквезиты
- Сервер под управлением Rocky Linux 8 / AlmaLinux 8 или centOS 8.
- Есть доступ к административной учетной записи на сервере.
Установка Java.
Wildfly — это приложение на основе Java, поэтому на вашем сервере должна быть установлено Java. Если не установлено, вы можете установить его с помощью следующей команды:
# dnf install java-11-openjdk-devel -y
После установки Java вы можете проверить установленную версию Java с помощью следующей команды:
# java --version
Вы должны получить примерно следующий результат:
openjdk 11.0.15 2022-04-19 LTS OpenJDK Runtime Environment 18.9 (build 11.0.15+10-LTS) OpenJDK 64-Bit Server VM 18.9 (build 11.0.15+10-LTS, mixed mode, sharing)
Установка Wildfly.
Перед установкой Wildfly вам нужно будет создать отдельного пользователя и группу для запуска Wildfly. Вы можете создать их с помощью следующей команды:
# groupadd --system wildfly # useradd -s /sbin/nologin --system -d /opt/wildfly -g wildfly wildfly
Далее вам нужно будет загрузить последнюю версию Wildfly с их официального сайта. На момент написания этого руководства последняя доступная версия Wildfly — 27.0.0.Beta1. Вы можете скачать его с помощью следующей команды:
# wget https://github.com/wildfly/wildfly/releases/download/27.0.0.Beta1/wildfly-27.0.0.Beta1.zip
После завершения загрузки извлеките загруженный файл с помощью следующей команды:
# tar -xvzf wildfly-27.0.0.Beta1.tar.gz
Затем скопируйте извлеченный каталог в /opt с помощью следующей команды:
# mv wildfly-27.0.0.Beta1 /opt/wildfly
Затем создайте каталог для хранения файлов конфигурации Wildfly:
# mkdir /etc/wildfly
Затем скопируйте все необходимые файлы в нужное место с помощью следующей команды:
# cp /opt/wildfly/docs/contrib/scripts/systemd/wildfly.conf /etc/wildfly/ # cp /opt/wildfly/docs/contrib/scripts/systemd/wildfly.service /etc/systemd/system/ # cp /opt/wildfly/docs/contrib/scripts/systemd/launch.sh /opt//wildfly/bin/
Затем укажите права собственности и права доступа к каталогу и файлам wildfly с помощью следующей команды:
# chmod +x /opt/wildfly/bin/launch.sh # chown -R wildfly:wildfly /opt/wildfly # chmod -R +x /opt/wildfly/
Затем перезагрузите демон systemd с помощью следующей команды:
# systemctl daemon-reload
Затем запустите службу Wildfly и включите ее запуск при загрузке с помощью следующей команды:
# systemctl start wildfly # systemctl enable wildfly
Теперь вы можете проверить статус службы Wildfly с помощью следующей команды:
# systemctl enable wildfly
Вы должны получить следующий результат:
● wildfly.service - The WildFly Application Server Loaded: loaded (/etc/systemd/system/wildfly.service; enabled; vendor preset: disabled) Active: active (running) since Sat 2022-10-08 11:43:48 MSK; 2min 29s ago Main PID: 205282 (launch.sh) Tasks: 40 (limit: 4703) Memory: 327.3M CGroup: /system.slice/wildfly.service ├─205282 /bin/bash /opt/wildfly/bin/launch.sh standalone standalone.xml 0.0.0.0 ├─205283 /bin/sh /opt/wildfly/bin/standalone.sh -c standalone.xml -b 0.0.0.0 └─205376 java -D[Standalone] -server -Xms64m -Xmx512m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stack=true -Djboss.modules.system.pkgs=org.jboss.bytema> Oct 08 11:43:48 computer systemd[1]: Started The WildFly Application Server.
На данный момент Wildfly установлен и запущен. По умолчанию сервер приложений wildfly прослушивает порт 8080. Вы можете проверить это с помощью следующей команды:
# ss -tunelp | grep 8080
Вы должны получить следующий результат:
tcp LISTEN 0 128 0.0.0.0:8080 0.0.0.0:* users:(("java",pid=205376,fd=501)) uid:989 ino:1424952 sk:7 <->
Консоль администратора Wildfly прослушивает порт 9990. Вы можете проверить это с помощью следующей команды:
# ss -tunelp | grep 9990
Вы должны получить следующий результат:
tcp LISTEN 0 50 127.0.0.1:9990 0.0.0.0:* users:(("java",pid=205376,fd=508)) uid:989 ino:1424955 sk:5 <->
Добавляем администратора Wildfly.
Чтобы получить доступ к консоли администрирования WildFly, вам необходимо создать пользователя с правами администратора. Вы можете создать его с помощью следующей команды:
# /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
Введите «a» для пользователя управления и нажмите Enter. Вы должны увидеть следующий вывод:
Enter the details of the new user to add. Using realm 'ManagementRealm' as discovered from the existing property files. Username : user
Укажите желаемое имя пользователя и нажмите Enter. Вы должны увидеть следующий вывод:
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 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 : WFLYDM0099: Password should have at least 8 characters! Are you sure you want to use the password entered yes/no? yes 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 'wildflyadmin' for realm 'ManagementRealm' Is this correct yes/no? yes
На этом этапе создан ваш пользователь управления Wildfly. Вы можете перейти к следующему шагу.
Настраиваем брандмауэр и SELinux.
По умолчанию SELinux включен в CentOS 8. Поэтому вам нужно настроить SELinux для Wildfly. Вы можете сделать это с помощью следующей команды:
# semanage fcontext -a -t bin_t "/opt/wildfly/bin(/.*)?" # restorecon -Rv /opt/wildfly/bin/ # setsebool -P httpd_can_network_connect 1
Далее вам нужно будет разрешить порты 8080, 9990 и 80 через брандмауэр. Вы можете сделать это с помощью следующей команды:
# firewall-cmd --permanent --add-port=8080/tcp # firewall-cmd --permanent --add-port=9990/tcp # firewall-cmd --permanent --add-port=80/tcp
Затем перезагрузите firewalld, чтобы применить изменения.
# firewall-cmd --reload
Как только вы закончите, вы можете перейти к следующему шагу.
Доступ к консоли администратора Wildfly.
По умолчанию консоль администратора Wildfly доступна только с локального хоста. Вам нужно будет отредактировать /opt/wildfly/bin/launch.sh и внести некоторые изменения для внешнего доступа. Открываем этот файл, удобным для вас редактором. И находим следующую строку.:
$WILDFLY_HOME/bin/standalone.sh -c $2 -b $3
И заменяем ее следующей строкой:
$WILDFLY_HOME/bin/standalone.sh -c $2 -b $3 -bamanagment=0.0.0.0
Сохраните и закройте файл, затем перезапустите службу Wildfly, чтобы изменения вступили в силу.
# systemctl restart wildfly
Теперь откройте веб-браузер и войдите в консоль администратора Wildfly, используя URL-адрес http://ip-server:9990. Вам будет предложено ввести имя пользователя и пароль. Введите имя пользователя и пароль администратора Wildfly и нажмите кнопку «Войти». После входа в систему вы должны увидеть панель администратора Wildfly на следующем экране:

Настраиваем Nginx в качестве обратного прокси для Wildfly.
По умолчанию приложение Wildfly доступно через порт 8080. Поэтому рекомендуется настроить Nginx в качестве обратного прокси-сервера, чтобы к нему можно было получить доступ через порт 80.
Сначала установите веб-сервер Nginx с помощью следующей команды;
# dnf install nginx -y
После установки создайте новый файл конфигурации /etc/nginx/conf.d/wildfly.conf, любым удобным для вас текстовым редактором и добавьте в него следующие строки:
upstream wildfly { server 127.0.0.1:8080 weight=100 max_fails=5 fail_timeout=5; } server { listen 80; server_name dcitst-x55010; location / { proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://wildfly/; } }
Сохраните и закройте файл, затем проверьте Nginx на наличие ошибок конфигурации с помощью следующей команды:
# nginx -t nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
Затем запустите Nginx и включите его запуск при перезагрузке системы с помощью следующей команды:
# systemctl start nginx # systemctl enable nginx
Вы также можете проверить статус службы Nginx с помощью следующей команды:
# systemctl status nginx
Вы должны получить следующий результат:
● nginx.service - The nginx HTTP and reverse proxy server Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; vendor preset: disabled) Active: active (running) since Sat 2022-10-08 15:18:41 MSK; 1min 21s ago Main PID: 9287 (nginx) Tasks: 2 (limit: 4685) Memory: 8.2M CGroup: /system.slice/nginx.service ├─9287 nginx: master process /usr/sbin/nginx └─9288 nginx: worker process Oct 08 15:18:41 computer systemd[1]: Starting The nginx HTTP and reverse proxy server... Oct 08 15:18:41 computer nginx[9283]: nginx: the configuration file /etc/nginx/nginx.conf syntax is ok Oct 08 15:18:41 computer nginx[9283]: nginx: configuration file /etc/nginx/nginx.conf test is successful Oct 08 15:18:41 computer systemd[1]: Started The nginx HTTP and reverse proxy server.
На этом этапе Nginx установлен и настроен для обслуживания вашего приложения Wildfly. Теперь вы можете получить доступ к приложению Wildfly, используя URL-адрес http://server-ip. Вы должны увидеть следующий экран:

Заключение.
В этом руководстве мы узнали, как установить Wildfly и включить удаленный доступ в CentOS 8 (а так же подойдет для ALma Linux8 и Rocky Linux 8). Мы также настроили Nginx в качестве обратного прокси-сервера для доступа к Wildfly через порт 80. Теперь вы можете начать создавать приложение Java и управлять им из Консоли администратора Widlfly.
А если Вам понравилась статья, сайт, и то что я делаю, то можете поддержать этот проект, собирающий в себя статьи и руководства по IT технологиям. Это можно сделать нажав, кнопочку ниже и закинув полтишок в копилку на развитие.