Перейти к основному содержимому

Как настроить сервер WildFly

· 5 мин. чтения

1. Введение

В этом руководстве мы исследуем различные режимы сервера и конфигурации сервера приложений JBoss WildFly . WildFly — это легкий сервер приложений с интерфейсом командной строки и консолью администратора.

Однако прежде чем мы начнем, нам нужно убедиться, что у нас есть переменная JAVA_HOME , установленная в JDK . Все, что после версии 8, будет работать для WildFly 17.

2. Режимы сервера

WildFly по умолчанию поставляется с автономным и доменным режимами. Сначала рассмотрим автономный режим.

2.1. Автономный

После загрузки и извлечения WildFly в локальный каталог нам нужно выполнить пользовательский скрипт.

Для Linux мы бы сделали:

~/bin/add-user.sh

Или для Windows:

~\bin\add-user.bat

Пользователь с правами администратора уже будет существовать; однако мы хотим изменить пароль на что-то другое. Обновление пароля администратора по умолчанию всегда рекомендуется, даже если вы планируете использовать другую учетную запись для управления сервером.

Пользовательский интерфейс предложит нам обновить пароль в опции (a):

Enter the details of the new user to add.
Using realm 'ManagementRealm' as discovered from the existing property files.
Username : admin
User 'admin' already exists and is enabled, would you like to...
a) Update the existing user password and roles
b) Disable the existing user
c) Type a new username
(a):

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

~\bin\standalone.bat

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

Теперь мы можем получить доступ к административной консоли по адресу http://127.0.0.1:9990 , как указано в выводе. Если мы обращаемся к URL-адресу сервера, http://127.0.0.1:8080/ , нас должно выдать сообщение о том, что сервер работает:

Server is up and running!

Эта быстрая и простая настройка отлично подходит для одиночного экземпляра, работающего на одном сервере, но давайте проверим режим домена для нескольких экземпляров.

2.2. Домен

Как упоминалось выше, в режиме домена несколько экземпляров сервера управляются одним хост-контроллером . Количество по умолчанию — два сервера.

Как и в случае с автономным экземпляром, мы добавляем пользователя с помощью скрипта add-user . Однако сценарий запуска правильно называть доменным , а не автономным.

Выполнив те же шаги для процесса запуска, мы теперь переходим к отдельным экземплярам сервера.

Например, мы можем посетить один и тот же URL-адрес одного экземпляра для первого сервера по адресу http://127.0.0.1:8080/ .

Server is up and running!

Точно так же мы можем посетить второй сервер по адресу http://127.0.0.1:8230.

Server is up and running!

Чуть позже мы рассмотрим эту странную конфигурацию портов для второго сервера.

3. Развертывание

Чтобы развернуть наше первое приложение, нам нужен хороший пример приложения.

Давайте воспользуемся Spring Boot Hello World . С небольшой модификацией он будет работать на WildFly.

Во-первых, давайте обновим pom.xml , чтобы создать WAR. Мы изменим элемент упаковки и добавим плагин maven-war-plugin :

<packaging>war</packaging>
...
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<archive>
<manifestEntries>
<Dependencies>jdk.unsupported</Dependencies>
</manifestEntries>
</archive>
</configuration>
</plugin>
</plugins>
</build>

Далее нам нужно изменить класс Application , чтобы расширить SpringBootServletInitializer :

public class Application extends SpringBootServletInitializer

И переопределите метод настройки :

@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(Application.class);
}

Наконец, давайте создадим проект:

./mvnw package

Теперь мы можем развернуть его.

3.1. Развернуть приложение

Давайте посмотрим, как легко развернуть наше новое приложение WildFly через консоль.

Во-первых, мы входим в консоль, используя пользователя admin и пароль, установленный ранее.

Нажмите Добавить -> Загрузить развертывание -> Выбрать файл…

Во-вторых, мы переходим в целевой каталог для приложения Spring Boot и загружаем файл WAR. Нажмите « Далее », чтобы продолжить, и отредактируйте имя нового приложения.

Наконец, мы получаем доступ к приложению по тому же URL-адресу — http://127.0.0.1:8080/ . Теперь мы видим вывод приложения как:

Greetings from Spring Boot!

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

4. Конфигурация сервера

Для этих общих свойств удобнее всего просматривать их в консоли администрирования.

4.1. Общие свойства конфигурации

Прежде всего, давайте взглянем на подсистемы — каждая из них имеет значение с включенной статистикой, для которого можно установить значение true для статистики времени выполнения:

./60eaf58ddda249960c8047e982bd2ce8.png

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

./14ac096534d947d32bade050c651668b.png

Например, полезно использовать определенные значения для каталога конфигурации и каталога журнала:

jboss.server.config.dir
jboss.server.log.dirw

Кроме того, в разделе «Источники данных и драйверы » можно управлять внешними источниками данных и различными драйверами для уровней сохраняемости данных:

./4280ae82da5d7a485ca832d83d15db73.png

В подсистеме Logging мы обновляем уровень журнала с INFO на DEBUG, чтобы увидеть больше журналов приложений:

./2d8ce0236209422a191f8cb34907fdbb.png

4.2. Файлы конфигурации сервера

Помните два URL-адреса сервера в режиме домена, http://127.0.0.1:8230 ? Нечетный порт 8230 связан со значением смещения по умолчанию 150 в файле конфигурации host-slave.xml :

<server name="server-one" group="main-server-group"/>
<server name="server-two" group="main-server-group" auto-start="true">
<jvm name="default"/>
<socket-bindings port-offset="150"/>
</server>

Однако мы можем сделать простое обновление значения смещения порта :

<socket-bindings port-offset="10"/>

Следовательно, теперь мы обращаемся к серверу два по URL -адресу http://127.0.0.1:8090 .

Еще одна замечательная особенность использования и настройки приложения в удобной консоли администратора заключается в том, что эти настройки можно экспортировать в виде XML-файла. Использование согласованной конфигурации с помощью XML-файлов упрощает управление несколькими средами.

5. Мониторинг

Интерфейс командной строки для WildFly позволяет просматривать и обновлять значения конфигурации так же, как консоль администрирования.

Чтобы использовать CLI, мы просто выполняем:

~\bin\jboss-cli.bat

После этого набираем:

[disconnected /] connect
[domain@localhost:9990 /]

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

Например, чтобы просмотреть всю текущую конфигурацию в виде XML при подключении к экземпляру сервера, мы можем запустить команду read-config-as-xml :

[domain@localhost:9990 /] :read-config-as-xml

Интерфейс командной строки также можно использовать для статистики времени выполнения любой из серверных подсистем. Самое главное, CLI отлично подходит для выявления различных проблем с помощью показателей сервера.

6. Заключение

В этом руководстве мы рассмотрели настройку и развертывание первого приложения в WildFly, а также некоторые параметры конфигурации сервера.

Пример проекта Spring Boot и экспорт XML-конфигурации можно посмотреть на GitHub .