WildFly 8 - новый улучшенный сервер приложений JBoss для Linux
Как мы все знаем, JBoss AS был переименован в WildFly. Было добавлено множество новых функций и многое было обновлено. Наконец, WildFly 8.0.0 Final был выпущен 11 февраля 2014 года. Лидер проекта WildFly, Джейсон Грин, объявил об этом.
WildFly 8 является Red Hat совместимым с Java EE 7 open source сервером приложений. Основные функции приведены ниже:
Совместимость с 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-dependencies», доступный для любых типов развертываний, в которых мы хотим пропустить контейнерное логирование. Это отключит добавление неявных зависимостей серверного логирования. У нас есть еще одна опция, а именно мы можем использовать jboss-deployment-structure.xml для исключения подсистемы логирования. Использование этого поможет остановить прохождение подсистемы логирования через любое развертывание.
Мы также можем использовать другой параметр, т.е. use-deployment-logging-config, для включения/отключения обработки файлов конфигурации журналирования в рамках развертывания.
style="color: ed;">Примечание: Системное свойство, которое мы использовали для отключения ведения логов по отдельности, было устаревшим в этой версии.
Кластеризация
Снова большое изменение — это кластеризация. Все функции, связанные с поддержкой кластеризации, были изменены в WildFly 8, и они включают следующее:
- Распределённая веб-сессия была оптимизирована для этого с новым веб-сервером на Java, т.е. Undertow.
- Поддержка mod_cluster для Undertow.
- Оптимизированные распределенные возможности SSO (Single Sign-On) и поддержка Undertow.
- Новая/оптимизированная реализация распределенного кэширования @Stateful EJB.
- В WildFly 8 был добавлен новый публичный API кластеризации.
- Для создания синглтон-сервисов он предоставляет новые публичные API.
Улучшения интерфейса командной строки
Конфигурация CLI также была улучшена. Вы знаете, что все администраторы любят работать в CLI ;). Итак, теперь мы можем создать псевдоним для конкретного сервера и затем использовать этот псевдоним, когда захотим подключиться к этому серверу с помощью команды connect.
В WildFly 8 всё ещё выполнено множество улучшений и обновлений. Вы можете проверить все это по адресу:
- http://wildfly.org/news/2014/02/11/WildFly8-Final-Released/
Установка WildFly 8 на Linux
Прежде чем продолжить установку, убедитесь, что на вашей системе установлена Java EE 7. WildFly 8 не будет работать с предыдущими версиями. Пожалуйста, следуйте приведенному ниже руководству, чтобы установить Java EE 7 на системах Linux.
- Установите JDK/JRE 7u25 в Linux
Шаг 1: Загрузка WildFly 8
Используйте следующую ссылку, чтобы скачать последнюю zip-версию WildFly.
- 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”style="color: ed;">Примечание: Для всей системы вы можете установить это в файле ‘/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 предоставляет две административные консоли для управления работающим экземпляром:
- веб-основанная консоль управления
- интерфейс командной строки
Перед подключением к консоли администратора или удалённо с помощью командной строки необходимо создать нового пользователя с помощью скрипта «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‘, который предоставляет те же возможности, что и веб-интерфейс UI.
[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) - как получить доступ и управлять CLI с помощью GUI



