Установка WildFly · 7 min read · Sep 10, 2025

Как установить и настроить WildFly (JBoss) на Debian 11

Wildfly — это сервер приложений, написанный на Java и разработанный компанией RedHat. Это простой, легковесный и мощный сервер с CLI и административной консолью. Он является открытым исходным кодом, кроссплатформенным и основан на подключаемых подсистемах, которые можно добавлять или удалять по мере необходимости. Он предоставляет все необходимые функции для запуска Java веб-приложения.

В этом руководстве я покажу вам, как установить Wildfly с Nginx в качестве обратного прокси на Debian 11.

Предварительные требования

  • Сервер с установленным Debian 11.
  • Действительное доменное имя, указывающее на IP-адрес вашего сервера.
  • Пароль root, настроенный на вашем сервере.

Установка Java JDK

Wildfly является приложением на Java, поэтому Java должна быть установлена на вашем сервере. Если она не установлена, вы можете установить ее, выполнив следующую команду:

apt-get install default-jdk -y

После установки Java вы можете проверить ее, используя следующую команду:

java --version

Вы должны увидеть версию Java в следующем выводе:

openjdk 11.0.12 2021-07-20
OpenJDK Runtime Environment (build 11.0.12+7-post-Debian-2deb10u1)
OpenJDK 64-Bit Server VM (build 11.0.12+7-post-Debian-2deb10u1, mixed mode, sharing)

Установка Wildfly

Сначала создайте пользователя и группу для запуска приложения Wildfly, используя следующую команду:

groupadd -r wildfly  
useradd -r -g wildfly -d /opt/wildfly -s /sbin/nologin wildfly

Затем загрузите последнюю версию Wildfly, используя команду wget:

wget https://github.com/wildfly/wildfly/releases/download/25.0.1.Final/wildfly-25.0.1.Final.zip

После завершения загрузки распакуйте загруженный файл с помощью следующей команды:

unzip wildfly-25.0.1.Final.zip

Затем переместите извлеченный каталог в /opt, используя следующую команду:

mv wildfly-25.0.1.Final /opt/wildfly

Затем измените владельца каталога /opt/wildfly:

chown -RH wildfly:wildfly /opt/wildfly

Затем создайте каталог конфигурации Wildfly внутри /etc, используя следующую команду:

mkdir -p /etc/wildfly

Затем скопируйте все необходимые файлы из каталога Wildfly в каталог /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/

Затем установите разрешения на выполнение для всех файлов оболочки:

chmod +x /opt/wildfly/bin/*.sh

Затем перезагрузите демон 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 Fri 2021-12-10 14:55:07 UTC; 6s ago
 Main PID: 20928 (launch.sh)
    Tasks: 59 (limit: 4701)
   Memory: 171.6M
   CGroup: /system.slice/wildfly.service
           ??20928 /bin/bash /opt/wildfly/bin/launch.sh standalone standalone.xml 0.0.0.0
           ??20929 /bin/sh /opt/wildfly/bin/standalone.sh -c standalone.xml -b 0.0.0.0
           ??21022 java -D[Standalone] -server -Xms64m -Xmx512m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stack=tru

Dec 10 14:55:07 debian11 systemd[1]: Started The WildFly Application Server.

Включение административной консоли Wildfly

По умолчанию административная консоль Wildfly отключена. Рекомендуется включить ее для управления приложением Wildfly.

Вы можете включить ее, отредактировав файл конфигурации Wildfly:

nano /etc/wildfly/wildfly.conf

Измените следующие строки:

WILDFLY_BIND=127.0.0.1
WILDFLY_CONSOLE_BIND=127.0.0.1

Сохраните и закройте файл, затем отредактируйте скрипт запуска Wildfly и включите административную консоль.

nano /opt/wildfly/bin/launch.sh

Измените файл, как показано ниже:

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

Сохраните и закройте файл, затем отредактируйте файл systemd Wildfly:

nano /etc/systemd/system/wildfly.service

Измените следующую строку:

ExecStart=/opt/wildfly/bin/launch.sh $WILDFLY_MODE $WILDFLY_CONFIG $WILDFLY_BIND $WILDFLY_CONSOLE_BIND

Сохраните и закройте файл, затем перезагрузите демон systemd, чтобы применить изменения конфигурации:

systemctl daemon-reload

Затем перезапустите службу Wildfly, чтобы применить изменения:

systemctl restart 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 Fri 2021-12-10 14:57:22 UTC; 3s ago
 Main PID: 21182 (launch.sh)
    Tasks: 64 (limit: 4701)
   Memory: 205.6M
   CGroup: /system.slice/wildfly.service
           ??21182 /bin/bash /opt/wildfly/bin/launch.sh standalone standalone.xml 127.0.0.1 127.0.0.1
           ??21183 /bin/sh /opt/wildfly/bin/standalone.sh -c standalone.xml -b 127.0.0.1 -bmanagement 127.0.0.1
           ??21282 java -D[Standalone] -server -Xms64m -Xmx512m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stack=tru

Dec 10 14:57:22 debian11 systemd[1]: Started The WildFly Application Server.

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

ss -plnt

Вы получите следующий вывод:

State        Recv-Q       Send-Q             Local Address:Port             Peer Address:Port                                                 
LISTEN       0            128                      0.0.0.0:22                    0.0.0.0:*           users:(("sshd",pid=678,fd=3))            
LISTEN       0            128                    127.0.0.1:8443                  0.0.0.0:*           users:(("java",pid=21282,fd=485))        
LISTEN       0            50                     127.0.0.1:9990                  0.0.0.0:*           users:(("java",pid=21282,fd=487))        
LISTEN       0            80                     127.0.0.1:3306                  0.0.0.0:*           users:(("mysqld",pid=12461,fd=21))       
LISTEN       0            128                    127.0.0.1:8080                  0.0.0.0:*           users:(("java",pid=21282,fd=476))        
LISTEN       0            128                         [::]:22                       [::]:*           users:(("sshd",pid=678,fd=4))            

Когда вы закончите, вы можете перейти к следующему шагу.

Создание административного пользователя Wildfly

Затем вам также нужно будет создать административного пользователя для доступа к административной консоли Wildfly. Вы можете создать его, выполнив следующую команду:

sh /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 : hitesh
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 : 

Укажите ваше имя пользователя, пароль и нажмите Enter. Вам будет предложено добавить пользователей в область:

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 'hitesh' for realm 'ManagementRealm'
Is this correct yes/no? yes

Введите yes и нажмите клавишу Enter, чтобы продолжить. После добавления пользователя вы получите следующий вывод:

Added user 'hitesh' to file '/opt/wildfly/standalone/configuration/mgmt-users.properties'
Added user 'hitesh' to file '/opt/wildfly/domain/configuration/mgmt-users.properties'
Added user 'hitesh' with groups  to file '/opt/wildfly/standalone/configuration/mgmt-groups.properties'
Added user 'hitesh' 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 Jakarta Enterprise Beans calls.
yes/no? yes
To represent the user add the following to the server-identities definition 

После завершения вы можете перейти к следующему шагу.

Установка и настройка Nginx в качестве обратного прокси

Затем вам нужно будет настроить Nginx в качестве обратного прокси для доступа к Wildfly через порт 80.

Сначала установите пакет Nginx, используя команду ниже:

apt-get install nginx -y

После установки Nginx создайте файл прокси Nginx с помощью следующей команды:

nano /etc/nginx/conf.d/proxy_headers.conf

Добавьте следующие строки:

proxy_set_header Host $host;
proxy_set_header X-Forwarded-Proto $scheme;
add_header Front-End-Https on;
add_header Cache-Control no-cache;

Сохраните и закройте файл, затем создайте файл конфигурации виртуального хоста Nginx для Wildfly:

nano /etc/nginx/conf.d/wildfly.conf

Добавьте следующие строки:

server {
  listen          80;
  server_name     wildfly.yourdomain.com;

  location / {
    include conf.d/proxy_headers.conf;
    proxy_pass http://127.0.0.1:8080;
  }

  location /management {
    include conf.d/proxy_headers.conf;
    proxy_pass http://127.0.0.1:9990/management;
  }

  location /console {
    include conf.d/proxy_headers.conf;
    proxy_pass http://127.0.0.1:9990/console;
  }

  location /logout {
    include conf.d/proxy_headers.conf;
    proxy_pass http://127.0.0.1:9990/logout;
  }

  location /error {
    include conf.d/proxy_headers.conf;
    proxy_pass http://127.0.0.1:9990;
  }

}

Сохраните и закройте файл, затем проверьте Nginx на наличие синтаксических ошибок с помощью следующей команды:

ginx -t

Вы должны увидеть следующий вывод:

ginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Наконец, перезапустите службу Nginx, чтобы применить изменения:

systemctl restart nginx

Вы также можете проверить статус Nginx, используя команду ниже:

systemctl status nginx

Вы получите следующий вывод:

? nginx.service - A high performance web server and a reverse proxy server
   Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
   Active: active (running) since Fri 2021-12-10 15:12:26 UTC; 9s ago
     Docs: man:nginx(8)
  Process: 22115 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
  Process: 22116 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
 Main PID: 22117 (nginx)
    Tasks: 3 (limit: 4701)
   Memory: 3.8M
   CGroup: /system.slice/nginx.service
           ??22117 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
           ??22118 nginx: worker process
           ??22119 nginx: worker process

Dec 10 15:12:25 debian11 systemd[1]: Starting A high performance web server and a reverse proxy server...
Dec 10 15:12:26 debian11 systemd[1]: Started A high performance web server and a reverse proxy server.

На этом этапе Nginx установлен и настроен для обслуживания Wildfly. Теперь вы можете перейти к следующему шагу.

Доступ к веб-интерфейсу Wildfly

Теперь откройте веб-браузер и получите доступ к странице приложения Wildfly, используя URL http://wildfly.yourdomain.com. Вы должны увидеть страницу по умолчанию Wildfly на следующем экране:

WildFly JAVA Application Server

Чтобы получить доступ к административной консоли Wildfly, введите URL http://wildfly.yourdomain.com/console/ в вашем веб-браузере. Вам будет предложено ввести имя пользователя и пароль администратора, как показано ниже:

WildFly login

Укажите ваше имя пользователя администратора, пароль и нажмите кнопку Войти. После входа в систему вы должны увидеть панель управления администратора Wildfly:

WildFly admin dashboard

Заключение

Поздравляем! вы успешно установили Wildfly с Nginx в качестве обратного прокси на Debian 11. Теперь вы можете использовать Wildfly для размещения вашего Java приложения в интернете. Не стесняйтесь задавать мне вопросы, если у вас есть какие-либо.

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.