Установка сервера · 7 min read · Dec 19, 2025

Как установить сервер приложений WildFly Java с Nginx на Ubuntu 22.04

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

Особенности

  • Бесплатный и с открытым исходным кодом
  • Модульный и легковесный.
  • Экономия ресурсов с помощью эффективного управления.
  • Экономия времени с помощью более быстрого развития.

Этот учебник покажет вам, как установить Wildfly с Nginx в качестве обратного прокси на Ubuntu 22.04.

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

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

Обновление системы

Сначала вам нужно обновить все пакеты вашей системы до актуальной версии. Вы можете обновить их, выполнив следующую команду.

apt update -y  
apt upgrade -y

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

Установка Java JDK

Wildfly — это приложение на основе Java. Поэтому вам нужно установить Java на вашем сервере. Вы можете установить Java JDK с помощью следующей команды.

apt install default-jdk -y

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

java --version

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

openjdk 11.0.17 2022-10-18
OpenJDK Runtime Environment (build 11.0.17+8-post-Ubuntu-1ubuntu222.04)
OpenJDK 64-Bit Server VM (build 11.0.17+8-post-Ubuntu-1ubuntu222.04, mixed mode, sharing)

Скачивание и установка Wildfly

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

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

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

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

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

unzip wildfly-26.1.3.Final.zip

Затем переместите извлеченный каталог Wildfly в каталог /opt.

mv wildfly-26.1.3.Final /opt/wildfly

Затем измените владельца каталога Wildfly с помощью следующей команды.

chown -RH wildfly: /opt/wildfly

После завершения вы можете перейти к настройке Wildfly.

Настройка Wildfly

Сначала создайте каталог конфигурации Wildfly с помощью следующей команды.

mkdir -p /etc/wildfly

Затем скопируйте файл конфигурации Wildfly в каталог /etc/wildfly.

cp /opt/wildfly/docs/contrib/scripts/systemd/wildfly.conf /etc/wildfly/

Затем скопируйте файл службы Wildfly в каталог systemd.

cp /opt/wildfly/docs/contrib/scripts/systemd/wildfly.service /etc/systemd/system/

Затем скопируйте файл launch.sh Wildfly в каталог /opt/wildfly/bin/.

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 Wed 2023-02-15 09:34:24 UTC; 4s ago
   Main PID: 20425 (launch.sh)
      Tasks: 61 (limit: 4579)
     Memory: 111.6M
        CPU: 6.919s
     CGroup: /system.slice/wildfly.service
             ??20425 /bin/bash /opt/wildfly/bin/launch.sh standalone standalone.xml 0.0.0.0
             ??20426 /bin/sh /opt/wildfly/bin/standalone.sh -c standalone.xml -b 0.0.0.0
             ??20534 java "-D[Standalone]" -server -Xms64m -Xmx512m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stac>

Feb 15 09:34:24 ubuntu2204 systemd[1]: Started The WildFly Application Server.

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

ss -antpl | grep -i java

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

LISTEN 0      4096         0.0.0.0:8443      0.0.0.0:*    users:(("java",pid=20534,fd=498))                                                                
LISTEN 0      50         127.0.0.1:9990      0.0.0.0:*    users:(("java",pid=20534,fd=497))                                                                
LISTEN 0      4096         0.0.0.0:8080      0.0.0.0:*    users:(("java",pid=20534,fd=495))                                                                

Настройка консоли администратора Wildfly

По умолчанию консоль администратора Wildfly отключена. Поэтому вам нужно будет включить ее, чтобы получить доступ к Wildfly из веб-браузера.

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

nano /etc/wildfly/wildfly.conf

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

WILDFLY_BIND=127.0.0.1
WILDFLY_CONSOLE_BIND=127.0.0.1

Сохраните и закройте файл, когда закончите. Затем отредактируйте файл launch.sh с помощью следующей команды.

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

Сохраните и закройте файл, затем отредактируйте файл службы 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

Затем вам нужно будет добавить администратора для доступа к консоли администратора 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

Укажите данные вашего нового пользователя, как показано ниже:

Using the realm 'ManagementRealm' as discovered from the existing property files.
Username : wadmin
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)[  ]:

Просто нажмите клавишу Enter. Вы должны увидеть следующий вывод.

About to add user 'wadmin' for realm 'ManagementRealm'
Is this correct yes/no? yes
Added user 'wadmin' to file '/opt/wildfly/standalone/configuration/mgmt-users.properties'
Added user 'wadmin' to file '/opt/wildfly/domain/configuration/mgmt-users.properties'
Added user 'wadmin' with groups  to file '/opt/wildfly/standalone/configuration/mgmt-groups.properties'
Added user 'wadmin' 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 

Настройка Nginx для Wildfly

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

Сначала установите пакет Nginx с помощью следующей команды.

apt install nginx -y

Затем создайте файл конфигурации proxy_headers.

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;

Сохраните и закройте файл, затем создайте новый файл конфигурации виртуального хоста.

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

Добавьте следующие конфигурации.

server {
  listen          80;
  server_name     wildfly.example.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 Wed 2023-02-15 09:38:18 UTC; 1s ago
       Docs: man:nginx(8)
    Process: 21027 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
    Process: 21028 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
   Main PID: 21029 (nginx)
      Tasks: 3 (limit: 4579)
     Memory: 3.4M
        CPU: 62ms
     CGroup: /system.slice/nginx.service
             ??21029 "nginx: master process /usr/sbin/nginx -g daemon on; master_process on;"
             ??21030 "nginx: worker process" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" ""
             ??21031 "nginx: worker process" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" ""

Feb 15 09:38:18 ubuntu2204 systemd[1]: Starting A high performance web server and a reverse proxy server...
Feb 15 09:38:18 ubuntu2204 systemd[1]: Started A high performance web server and a reverse proxy server.

Доступ к интерфейсу администратора Wildfly

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

WildFly login

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

WildFly dashboard

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

WildFly java application server

Заключение

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

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.