Установка WildFly · 6 min read · Sep 09, 2025
Как установить WildFly с Nginx в качестве обратного прокси на Debian 10

WildFly — это бесплатная, открытая и кроссплатформенная среда выполнения приложений, написанная на Java и разработанная компанией Red Hat, которая позволяет вам разрабатывать отличные приложения из одной IDE. Она легковесная, быстрая, гибкая и основана на подключаемых подсистемах. Она работает на операционных системах Windows и Linux и нацелена на предоставление пользователям быстрого и стабильного окружения выполнения Java. Wildfly поставляется с богатым набором функций, включая быструю, настраиваемую среду выполнения, масштабируемость, унифицированную конфигурацию и управление, параллельную загрузку, быструю привязку, управление доменами и многое другое.
В этом руководстве мы покажем вам шаги по установке Wildfly с Nginx в качестве обратного прокси на Debian 10.
Требования
- Сервер с установленным Debian 10.
- Установлен пароль root для вашего сервера.
Начало работы
Перед началом вам нужно обновить вашу систему до последней версии. Вы можете сделать это, выполнив следующую команду:
apt-get update -y
apt-get upgrade -yПосле обновления сервера перезагрузите его, чтобы применить изменения.
Установка Java
WildFly требует, чтобы версия Java 8 была установлена на вашем сервере. По умолчанию Java 8 недоступна в стандартном репозитории Debian 10. Поэтому вам нужно будет скачать Java 8 с их официального сайта.
После загрузки Java 8 извлеките исходники Java в каталог /usr/lib/jvm с помощью следующей команды:
mkdir /usr/lib/jvm/
tar -zxvf jdk-8u221-linux-x64.tar.gz -C /usr/lib/jvm/Затем выполните следующую команду, чтобы изменить версию Java по умолчанию:
update-alternatives --config javaВыберите версию Java 8 и нажмите Enter. Вы должны увидеть следующий вывод:
There are 2 choices for the alternative java (providing /usr/bin/java).
Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1111 auto mode
1 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1111 manual mode
2 /usr/lib/jvm/jdk1.8.0_221/bin/java 1 manual mode
Press to keep the current choice[*], or type selection number: 2
update-alternatives: using /usr/lib/jvm/jdk1.8.0_221/bin/java to provide /usr/bin/java (java) in manual mode
Затем проверьте версию Java, используя следующую команду:
java -versionВы должны получить следующий вывод:
java version "1.8.0_221"
Java(TM) SE Runtime Environment (build 1.8.0_221-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.221-b11, mixed mode)
Установка Wildfly
Сначала вам нужно будет создать пользователя и группу для Wildfly. Вы можете создать их с помощью следующей команды:
groupadd -r wildfly
useradd -r -g wildfly -d /opt/wildfly -s /sbin/nologin wildflyЗатем загрузите последнюю версию Wildfly с помощью следующей команды:
wget https://download.jboss.org/wildfly/17.0.1.Final/wildfly-17.0.1.Final.zipПосле завершения загрузки извлеките загруженный файл с помощью следующей команды:
unzip wildfly-17.0.1.Final.zipЗатем скопируйте извлеченный каталог в /opt/ с помощью следующей команды:
cp -r wildfly-17.0.1.Final /opt/wildflyЗатем измените владельца каталога wildfly на пользователя wildfly, как показано ниже:
chown -RH wildfly:wildfly /opt/wildflyПосле завершения вы можете перейти к следующему шагу.
Настройка Wildfly
Затем вам нужно будет скопировать необходимые файлы для настройки WildFly.
Сначала скопируйте файл конфигурации WildFly в каталог /etc/wildfly:
mkdir /etc/wildfly
cp /opt/wildfly/docs/contrib/scripts/systemd/wildfly.conf /etc/wildfly/Затем скопируйте файл launch.sh в каталог /opt/wildfly/bin/ с помощью следующей команды:
cp /opt/wildfly/docs/contrib/scripts/systemd/launch.sh /opt/wildfly/bin/Затем дайте разрешение на выполнение файлу launch.sh:
sh -c 'chmod +x /opt/wildfly/bin/*.sh'Затем скопируйте файл юнита systemd Wildfly в каталог /etc/systemd/system/:
cp /opt/wildfly/docs/contrib/scripts/systemd/wildfly.service /etc/systemd/system/Затем перезагрузите демон systemd с помощью следующей команды:
systemctl daemon-reloadЗатем запустите службу WildFly и включите ее для автоматического запуска при загрузке с помощью следующей команды:
systemctl start wildfly
systemctl enable wildflyТеперь вы можете проверить статус службы Wildfly с помощью следующей команды:
systemctl status wildflyВы должны получить следующий вывод:
? wildfly.service - The WildFly Application Server
Loaded: loaded (/etc/systemd/system/wildfly.service; disabled; vendor preset: enabled)
Active: active (running) since Tue 2019-09-10 00:19:27 EDT; 1s ago
Main PID: 1142 (launch.sh)
Tasks: 7 (limit: 1138)
Memory: 24.7M
CGroup: /system.slice/wildfly.service
??1142 /bin/bash /opt/wildfly/bin/launch.sh standalone standalone.xml 0.0.0.0
??1143 /bin/sh /opt/wildfly/bin/standalone.sh -c standalone.xml -b 0.0.0.0
??1200 java -D[Standalone] -server -Xms64m -Xmx512m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stack=true -
Sep 10 00:19:27 debian systemd[1]: Started The WildFly Application Server.
Настройка аутентификации WildFly
Затем вам нужно будет создать администратора для 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 : wildflyadmin
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 'wildflyadmin' for realm 'ManagementRealm'
Is this correct yes/no? yes
Added user 'wildflyadmin' to file '/opt/wildfly/standalone/configuration/mgmt-users.properties'
Added user 'wildflyadmin' to file '/opt/wildfly/domain/configuration/mgmt-users.properties'
Added user 'wildflyadmin' with groups to file '/opt/wildfly/standalone/configuration/mgmt-groups.properties'
Added user 'wildflyadmin' 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
После завершения вы можете перейти к следующему шагу.
Настройка WildFly для доступа из удаленной системы
По умолчанию Wildfly доступен только из локальной системы. Поэтому вам нужно будет настроить его для доступа из удаленной системы. Вы можете сделать это, отредактировав файл /etc/wildfly/wildfly.conf:
nano /etc/wildfly/wildfly.confДобавьте следующую строку в конец файла:
WILDFLY_CONSOLE_BIND=0.0.0.0
Сохраните и закройте файл, когда закончите. Затем откройте файл /opt/wildfly/bin/launch.sh, как показано ниже:
nano /opt/wildfly/bin/launch.shИзмените файл, как показано ниже:
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
Сохраните и закройте файл. Затем откройте файл /etc/systemd/system/wildfly.service.
nano /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 и установите правильные разрешения:
mkdir /var/run/wildfly/
chown wildfly:wildfly /var/run/wildfly/Наконец, перезагрузите демон systemd и перезапустите службу Wildfly, чтобы применить изменения:
systemctl daemon-reload
systemctl restart wildflyПосле завершения вы можете перейти к следующему шагу.
Доступ к Wildfly
Wildfly теперь установлен и настроен для доступа из удаленной системы. По умолчанию консоль управления Wildfly слушает на порту 9990. Вы можете получить к ней доступ, посетив URL http://192.168.0.4:9990. Вы будете перенаправлены на следующую страницу:

Теперь введите ваше имя пользователя и пароль администратора и нажмите кнопку Войти. Вы должны увидеть консоль управления Wildfly на следующем экране:

Вы также можете получить доступ к приложению Wildfly, посетив URL http://192.168.0.4:8080. Вы должны увидеть следующую страницу:

Настройка Nginx в качестве обратного прокси для Wildfly
Затем вам нужно будет настроить Nginx в качестве обратного прокси, чтобы проксировать запросы, приходящие на порт 80, на 8080.
Сначала установите Nginx с помощью следующей команды:
apt-get install nginx -yПосле установки Nginx создайте новый файл виртуального хоста для Nginx с помощью следующей команды:
nano /etc/nginx/sites-available/wildfly.confДобавьте следующие строки:
upstream wildfly {
server 127.0.0.1:8080 weight=100 max_fails=5 fail_timeout=5;
}
server {
listen 80;
server_name 192.168.0.4;
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 на наличие синтаксических ошибок с помощью следующей команды:
ginx -tВы должны получить следующий вывод:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Затем включите виртуальный хост Nginx и перезапустите Nginx с помощью следующей команды:
ln -s /etc/nginx/sites-available/wildfly.conf /etc/nginx/sites-enabled/
systemctl restart nginxТеперь вы можете получить доступ к приложению Wildfly, не указывая порт 8080.
Вот и все. Вы успешно установили и настроили Wildfly с Nginx в качестве обратного прокси на Debian 10. Не стесняйтесь задавать мне вопросы.
Get new posts in your inbox
No spam. Unsubscribe anytime.