Установка 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 на следующем экране:

Консоль управления HAL

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

Добро пожаловать в WildFly

Настройка 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. Не стесняйтесь задавать мне вопросы.

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.