Поиск по сайту:

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


Это руководство существует для этих версий ОС

  • Debian 11 (Bullseye)
  • Debian 10 (Buster)

На этой странице

  1. Предпосылки
  2. Установите Java JDK
  3. Установить Wildfly
  4. Включить консоль администратора Wildfly
  5. Создание пользователя-администратора Wildfly
  6. Установка и настройка Nginx в качестве обратного прокси-сервера
  7. Доступ к веб-интерфейсу Wildfly
  8. Заключение

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

Сохраните и закройте файл, затем отредактируйте системный файл 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 на наличие синтаксической ошибки, используя следующую команду:

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 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, введите URL-адрес http://wildfly.yourdomain.com/console/ в веб-браузере. Вам будет предложено ввести имя пользователя и пароль администратора, как показано ниже:

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

Заключение

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

Статьи по данной тематике: