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

WildFly 8 — новый улучшенный сервер приложений JBoss для Linux


Как мы все знаем, JBoss AS был переименован в WildFly. Было добавлено много новых функций и многие обновлены. Наконец, WildFly 8.0.0 Final был выпущен 11 февраля 2014 г.. О том же заявил руководитель Джейсон Грин проекта WildFly.

WildFly 8 — это Red Hat, совместимый с Java EE 7 сервер приложений с открытым исходным кодом. Основные характеристики приведены ниже:

Совместимость с Java EE 7

Самым большим изменением является то, что теперь WildFly 8 официально сертифицирован Java EE7.

Высокопроизводительный веб-сервер

Undertow — это новый высокопроизводительный веб-сервер, написанный на Java. Теперь это реализовано в WildFly 8. Он действительно рассчитан на высокую пропускную способность и масштабируемость и может обрабатывать миллионы соединений. Жизненный цикл Undertow полностью контролируется приложением для внедрения. Это чрезвычайно легкий вариант: основной jar имеет размер 1 МБ, а встроенный сервер использует менее 4 МБ кучи. Это действительно здорово.

3-портовое сокращение

Поскольку он использует Undertow, который поддерживает обновление HTTP, что позволит мультиплексировать несколько протоколов через один порт HTTP. В WildFly 8 почти все свои протоколы были мультиплексированы через два порта HTTP: один — порт управления, а другой — порт приложения. Это действительно большое изменение и преимущество для поставщиков облачных услуг (таких как OpenShift), которые запускают сотни и тысячи экземпляров на одном сервере. Всего у него есть два порта по умолчанию для настройки: 9990 (консоль веб-администрирования) и 8080 (консоль приложения).

Управление доступом на основе ролей и аудит

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

Ведение журнала

API управления теперь поддерживает возможность составлять список и просматривать доступные файлы журналов на сервере. Теперь у нас есть атрибут «add-logging-api-dependentness», доступный для любого типа развертываний, в которых мы хотим пропустить ведение журнала контейнера. Это отключит добавление неявных зависимостей ведения журнала сервера. У нас есть другой вариант: мы можем использовать jboss-deployment-structure.xml, чтобы исключить подсистему журналирования. Использование этого поможет предотвратить любое развертывание подсистемы журналирования.

Мы также можем использовать другой параметр, например, use-deployment-logging-config, для включения/отключения обработки файлов конфигурации журналирования в развертывании.

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

Кластеризация

И снова большое изменение – это одна кластеризация. Все функции, связанные с поддержкой кластеризации, были изменены в WildFly 8, включая следующие:

  1. Распределенный веб-сеанс был оптимизирован для него с помощью нового веб-сервера на основе Java, т.е. Undertow.
  2. поддержка mod_cluster для Undertow.
  3. Оптимизированные возможности распределенного единого входа (единого входа) и поддержка Undertow.
  4. Новая/оптимизированная реализация распределенного кэширования @Stateful EJB.
  5. В WildFly 8 добавлен новый API общедоступной кластеризации.
  6. Для создания одноэлементных сервисов он предоставляет новые общедоступные API.
Улучшения интерфейса командной строки

Конфигурация CLI также была улучшена. Знаете, все администраторы любят работать с CLI ;). Итак, теперь мы можем создать псевдоним для определенного сервера, а затем использовать этот псевдоним всякий раз, когда захотите подключиться к этому серверу с помощью команды подключения.

В WildFly 8 еще сделано множество улучшений и обновлений. Все это можно проверить по адресу:

  1. http://wildfly.org/news/2014/02/11/WildFly8-Final-Released/

Установка WildFly 8 в Linux

Прежде чем приступить к установке, убедитесь, что в вашей системе установлена Java EE 7. WildFly 8 не будет работать с предыдущими версиями. Следуйте приведенному ниже руководству для установки Java EE 7 в системах Linux.

  1. Установите JDK/JRE 7u25 в Linux

Шаг 1: Загрузка WildFly 8

Используйте следующую ссылку, чтобы загрузить последнюю версию zip-файла WildFly.

  1. http://download.jboss.org/wildfly/8.0.0.Final/wildfly-8.0.0.Final.zip

Вы также можете использовать команду «wget» для загрузки непосредственно из командной строки.

[root@tecmint]# wget http://download.jboss.org/wildfly/8.0.0.Final/wildfly-8.0.0.Final.zip

Скопируйте zip-файл в любое удобное место (например, «/data/» в моем случае) и извлеките его с помощью команды «unzip».

[root@tecmint]# cp wildfly-8.0.0.Final.zip /data/
[root@tecmint]# cd /data/
[root@tecmint data]# unzip wildfly-8.0.0.Final.zip

Шаг 2. Установка переменных среды

Теперь установите некоторые переменные среды. Вы можете установить их в системе или в файлах конфигурации. Здесь я настраиваю файлы конфигурации standalone.sh и standalone.conf в папке «bin».

[root@tecmint data]# cd wildfly-8.0.0.Final
[root@tecmint data]# cd bin/

Добавьте эти две следующие строки в файлы standlone.sh/standlone.conf. Пожалуйста, укажите место установки WildFly и местоположение Java Home.

JBOSS_HOME=”/data/wildfly-8.0.0.Final”
JAVA_HOME=”/data/java/jre7/bin/java”

Примечание. Для всей системы вы можете установить его в файле «/etc/profile».

Шаг 3: Запуск WildFly 8

Теперь запустите сервер, т. е. для автономного режима используйте «standalone.sh», а для режима домена используйте «domain.sh».

[root@tecmint bin]# ./standalone.sh
[root@tecmint bin]# ./domain.sh

Но здесь я начинаю в автономном режиме. По умолчанию он запускается с файла «standalone.xml». Но вы также можете начать с другой конфигурации, используя опцию «–server-config».

Как показано ниже, я запускаю сервер с «standalone-full-ha.xml», и этот файл присутствует в «$JBOSS_HOME/standalone(profile)/configuration/».

[root@tecmint bin]# ./standalone.sh --server-config standalone-full-ha.xml
Пример вывода
Calling "/data/wildfly-8.0.0.Final/standalone/configuration/standalone.conf"
Setting JAVA property to "/data/java/jre7/bin/java"
===============================================================================

  JBoss Bootstrap Environment

  JBOSS_HOME: "/data/wildfly-8.0.0.Final"

  JAVA: "/data/java/jre7/bin/java"

  JAVA_OPTS: "-client -Dprogram.name=standalone.sh -Xms64M -Xmx512M -XX:MaxPerm
Size=256M -Djava.net.preferIPv4Stack=true -Djboss.modules.system.pkgs=org.jboss.byteman"

===============================================================================

13:55:26,403 INFO  [org.jboss.modules] (main) JBoss Modules version 1.3.0.Final
13:55:33,812 INFO  [org.jboss.msc] (main) JBoss MSC version 1.2.0.Final
13:55:35,481 INFO  [org.jboss.as] (MSC service thread 1-1) JBAS015899: WildFly 8.0.0.Final "WildFly" starting
13:55:58,646 INFO  [org.jboss.as.server] (Controller Boot Thread) JBAS015888: Creating http management service using socket-binding (management-http)
...........
13:56:22,778 INFO  [org.jboss.as] (Controller Boot Thread) JBAS015961: Http management interface listening on http://127.0.0.1:9990/management
13:56:22,794 INFO  [org.jboss.as] (Controller Boot Thread) JBAS015951: Admin console listening on http://127.0.0.1:9990
13:56:22,794 INFO  [org.jboss.as] (Controller Boot Thread) JBAS015874: WildFly 8.0.0.Final "WildFly" started in 64534ms - Started 229 of 356 services (172 services are lazy, passive or on-demand)

Шаг 4: Доступ к WildFly 8

Теперь вы можете указать в браузере «http://localhost:8080» (если используется http-порт, настроенный по умолчанию), что приведет вас к экрану приветствия.

Отсюда вы можете получить доступ к руководствам по документации сообщества WildFly и расширенному доступу к веб-консоли администрирования.

Шаг 5: Управление WildFly 8

WildFly 8 предоставляет две административные консоли для управления работающим экземпляром:

    1. веб-консоль администрирования
    2. Интерфейс командной строки

Прежде чем подключаться к консоли администрирования или удаленно с помощью командной строки, вам необходимо создать нового пользователя с помощью сценария «add-user.sh» в папке bin.

Затем перейдите в каталог «bin», установите «JBOSS_HOME» в add-user.sh (если переменная не установлена в системных базах). и создайте пользователя, как показано ниже.

[root@tecmint 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):
Enter the details of the new user to add.
Using realm 'ManagementRealm' as discovered from the existing property files.
Username : admin
The username 'admin' is easy to guess
Are you sure you want to add user 'admin' yes/no? yes
Password recommendations are listed below. To modify these restrictions edit the add-user.properties configuration file.
 - The password should not be one of the following restricted values {root, admin, administrator}
 - The password should contain at least 8 characters, 1 alphanumeric character(s), 1 digit(s), 1 non-alphanumeric symbol(s)
 - The password should be different from the username
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 'admin' for realm 'ManagementRealm'
Is this correct yes/no? yes
Added user 'admin' to file '/data/wildfly-8.0.0.Final/standalone/configuration/mgmt-users.properties'
Added user 'admin' to file /data/wildfly-8.0.0.Final/domain/configuration/mgmt-users.properties'
Added user 'admin' with groups  to file /data/wildfly-8.0.0.Final/standalone/configuration/mgmt-groups.properties'
Added user 'admin' with groups  to file /data/wildfly-8.0.0.Final/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 
Press any key to continue . . .

Теперь войдите в веб-консоль администрирования по адресу «http://localhost:9990/console» и введите новое созданное имя пользователя и пароль для прямого доступа к консоли управления.

Первый экран после входа в систему.

Если вы предпочитаете управлять своим сервером из CLI, запустите сценарий «jboss-cli.sh» из каталога «bin», который предлагает те же возможности, доступные через веб-интерфейс.

[root@tecmint bin]# cd bin
[root@tecmint bin]# ./jboss-cli.sh --connect
Connected to standalone controller at localhost:9999

Для получения дополнительной информации следуйте официальной документации WildFly 8 по адресу https://docs.jboss.org/author/display/WFLY8/Documentation.

Читайте также: WildFly (JBoss AS) – как получить доступ к интерфейсу командной строки и управлять им с помощью графического пользовательского интерфейса