Файлы конфигурации и управление ресурсами для wildfly 21

сервер

Введение

В прошлой статье мы представили базовое использование и интерфейс управления wildfly 21. Сегодня мы подробно объясним профили диких мух и управление ресурсами.

конфигурационный файл wildfly

Независимо от того, работаете ли вы в автономном режиме или в режиме домена, очень важны два файла конфигурации: это standalone.xml и domain.xml.

Другой файл standalone-*.xml может ссылаться на файл standalone.xml для настройки

Давайте взглянем на общую структуру файла standalone.xml:

<server xmlns="urn:jboss:domain:14.0">
<extensions>
...
</extensions>
<management>
...
</management>
<profile>
...
</profile>
<interfaces>
    ...
</interfaces>
<socket-binding-group name="standard-sockets" default-interface="public" port-offset="${jboss.socket.binding.port-offset:0}">
    ...
</socket-binding-group>
</server>

Сервер в основном состоит из 5 частей, а именно: расширения, управление, профиль, интерфейсы и группа привязки сокетов.

extensions

Расширения представляют собой модули вне основного приложения. Благодаря этим внешним модулям основное приложение wildfly очень простое и легкое.

Эти внешние модули помещаются в папку modules. Мы можем ссылаться на них, используя тег расширения:

<extensions>
    [...]
    <extension module="org.jboss.as.transactions"/>
    <extension module="org.jboss.as.webservices" />
    <extension module="org.jboss.as.weld" />
    [...]
    <extension module="org.wildfly.extension.undertow"/>
</extensions>

profile

Профиль состоит из нескольких подсистем. Подсистема — это новый набор функций, добавляемых к основному серверу с помощью расширений.

Давайте посмотрим на пример профиля и подсистемы:

<profile>
        <subsystem xmlns="urn:jboss:domain:logging:8.0">
            <console-handler name="CONSOLE">
                <level name="INFO"/>
                <formatter>
                    <named-formatter name="COLOR-PATTERN"/>
                </formatter>
            </console-handler>
            <periodic-rotating-file-handler name="FILE" autoflush="true">
                <formatter>
                    <named-formatter name="PATTERN"/>
                </formatter>
                <file relative-to="jboss.server.log.dir" path="server.log"/>
                <suffix value=".yyyy-MM-dd"/>
                <append value="true"/>
            </periodic-rotating-file-handler>
            <logger category="com.arjuna">
                <level name="WARN"/>
            </logger>
            <logger category="io.jaegertracing.Configuration">
                <level name="WARN"/>
            </logger>
            <logger category="org.jboss.as.config">
                <level name="DEBUG"/>
            </logger>
            <logger category="sun.rmi">
                <level name="WARN"/>
            </logger>
            <root-logger>
                <level name="INFO"/>
                <handlers>
                    <handler name="CONSOLE"/>
                    <handler name="FILE"/>
                </handlers>
            </root-logger>
            <formatter name="PATTERN">
                <pattern-formatter pattern="%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p [%c] (%t) %s%e%n"/>
            </formatter>
            <formatter name="COLOR-PATTERN">
                <pattern-formatter pattern="%K{level}%d{HH:mm:ss,SSS} %-5p [%c] (%t) %s%e%n"/>
            </formatter>
        </subsystem>
</profile>

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

РЕЗЮМЕ standalone.xml и domain.xml по существу в профиле одинаковы, за исключением того, что можно настроить множество профилей domain.xml, а только профиль standalone.xml.

path

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

<file relative-to="jboss.server.log.dir" path="server.log"/>

Здесь мы используем server.log, на самом деле в wildfly есть много встроенных переменных пути:

  • jboss.home.dir - корневой каталог Wildfly

  • user.home - домашний каталог пользователя

  • user.dir - текущий рабочий каталог пользователя

  • java.home - каталог установки Java

  • jboss.server.base.dir — корневой каталог экземпляра сервера

  • jboss.server.config.dir — каталог файла конфигурации для экземпляра сервера

  • jboss.server.data.dir — каталог данных экземпляра сервера

  • jboss.server.log.dir - каталог журнала экземпляра сервера

  • JBoss.Server.Temp.dir — временный каталог для экземпляра сервера.

  • jboss.controller.temp.dir — временный каталог экземпляра контроллера.

  • jboss.domain.servers.dir — в режиме управляемого домена рабочий каталог, созданный хост-контроллером для серверов.

В дополнение к 5 основным путям пользователи могут настраивать или переопределять другие встроенные пути:

<path name="example" path="example" relative-to="jboss.server.data.dir"/>

Среди них имя представляет имя пути, а путь — значение пути.Если нет относительного, это абсолютный путь, а с относительным — относительный путь.

relative-to представляет основу относительного пути.

Приведенный выше формат можно использовать только в файле standalone.xml. Если вы хотите использовать его в domain.xml, он должен быть в следующем формате:

<path name="x"/>

Имя здесь — это просто ссылка на определение пути в файле host.xml:

<path name="x" path="/var/x" />

interface

iterface представляет сетевой интерфейс, который может быть именем хоста или IP-адресом, и используется для привязки к следующим сокетам.

Давайте посмотрим на пример интерфейса:

    <interfaces>
        <interface name="management">
            <inet-address value="${jboss.bind.address.management:127.0.0.1}"/>
        </interface>
        <interface name="public">
            <inet-address value="${jboss.bind.address:127.0.0.1}"/>
        </interface>
    </interfaces>

Точно так же, если тег интерфейса в domain.xml может содержать только атрибут имени:

<interface name="internal"/>

Эта ссылка определена в host.xml.

socket-binding

определение привязки к сокету экспортной сети, указав привязку ip и интерфейсы, и в конечном итоге к ней можно получить доступ по соответствующему сервисному адресу:

    <socket-binding-group name="standard-sockets" default-interface="public" port-offset="${jboss.socket.binding.port-offset:0}">
        <socket-binding name="ajp" port="${jboss.ajp.port:8009}"/>
        <socket-binding name="http" port="${jboss.http.port:8080}"/>
        <socket-binding name="https" port="${jboss.https.port:8443}"/>
        <socket-binding name="management-http" interface="management" port="${jboss.management.http.port:9990}"/>
        <socket-binding name="management-https" interface="management" port="${jboss.management.https.port:9993}"/>
        <socket-binding name="txn-recovery-environment" port="4712"/>
        <socket-binding name="txn-status-manager" port="4713"/>
        <outbound-socket-binding name="mail-smtp">
            <remote-destination host="${jboss.mail.server.host:localhost}" port="${jboss.mail.server.port:25}"/>
        </outbound-socket-binding>
    </socket-binding-group>

В приведенном выше примере мы определяем адреса ajp, http, https, и есть несколько сторон управления, транзакции, адрес электронной почты.

Обратите внимание, что у нас есть свойство port-offset, которое может задавать смещение стандартного интерфейса, что особенно удобно использовать, когда стандартный интерфейс занят.

Например, наш http-порт по умолчанию — 8080. Если этот порт уже занят, то мы можем передать port-offset= 100, чтобы http-порт стал 8180, что очень удобно.

management

Управление — это конфигурация стороны управления wildfly.Мы знаем, что wildfly можно управлять через веб-сайт wildfly или cli.

Давайте посмотрим на определение управления:

    <management>
        <security-realms>
            <security-realm name="ManagementRealm">
                <authentication>
                    <local default-user="$local" skip-group-loading="true"/>
                    <properties path="mgmt-users.properties" relative-to="jboss.server.config.dir"/>
                </authentication>
                <authorization map-groups-to-roles="false">
                    <properties path="mgmt-groups.properties" relative-to="jboss.server.config.dir"/>
                </authorization>
            </security-realm>
        </security-realms>
        <audit-log>
            <formatters>
                <json-formatter name="json-formatter"/>
            </formatters>
            <handlers>
                <file-handler name="file" formatter="json-formatter" path="audit-log.log" relative-to="jboss.server.data.dir"/>
            </handlers>
            <logger log-boot="true" log-read-only="false" enabled="false">
                <handlers>
                    <handler name="file"/>
                </handlers>
            </logger>
        </audit-log>
        <management-interfaces>
            <http-interface security-realm="ManagementRealm">
                <http-upgrade enabled="true"/>
                <socket-binding http="management-http"/>
            </http-interface>
        </management-interfaces>
        <access-control provider="simple">
            <role-mapping>
                <role name="SuperUser">
                    <include>
                        <user name="$local"/>
                    </include>
                </role>
            </role-mapping>
        </access-control>
    </management>

В приведенном выше примере мы указали адрес доступа со стороны управления и политику безопасности, которая будет использоваться через интерфейсы управления.

В сферах безопасности мы можем определить различные области безопасности. Это может быть определено в информации о пользователе и информации о группе области безопасности.

Управление ресурсами

wildfly предоставляет два способа управления ресурсами, один через Интернет.http://host:9990/console, один через командную строку:

./bin/jboss-cli.sh
You are disconnected at the moment. Type 'connect' to connect to the server
or 'help' for the list of supported commands.
[disconnected /]
 
[disconnected /] connect
[standalone@localhost:9990 /]

Каждый, кто работает с веб-сайтом, должен знать, как его использовать.Здесь мы сосредоточимся на использовании командной строки.

Мы можем получить команды, которые можно выполнить в состоянии командной строки, через help --commands:

attachment                              deployment enable-all                   module                                  security enable-http-auth-http-server
batch                                   deployment info                         patch apply                             security enable-http-auth-management
cd                                      deployment list                         patch history                           security enable-sasl-management
clear                                   deployment undeploy                     patch info                              security enable-ssl-http-server
command                                 deployment undeploy-cli-archive         patch inspect                           security enable-ssl-management
command-timeout                         deployment-info                         pwd                                     security reorder-sasl-management
connect                                 deployment-overlay                      quit                                    set
connection-info                         echo                                    read-attribute                          shutdown
data-source                             echo-dmr                                read-operation                          try
deploy                                  for                                     reload                                  undeploy
deployment deploy-cli-archive           grep                                    run-batch                               unset
deployment deploy-file                  help                                    security disable-http-auth-http-server  version
deployment deploy-url                   history                                 security disable-http-auth-management   xa-data-source
deployment disable                      if                                      security disable-sasl-management
deployment disable-all                  jdbc-driver-info                        security disable-ssl-http-server
deployment enable                       ls                                      security disable-ssl-management

Кроме того, командная строка также предоставляет ряд операторов для операций с ресурсами.

В wildfly управляемые объекты рассматриваются как один ресурс, и мы можем получить доступ к этому ресурсу через путь к ресурсу.

Например, если я хочу видеть под сервером ресурс с именем default-server, я могу сделать так:

 /server=default-server 

Пути ресурсов могут быть записаны последовательно, например:

/subsystem=undertow/server=default-server/http-listener=default

Это все допустимые пути к ресурсам.

С путем к ресурсу нам также необходимо предоставить операторы для работы с ресурсами, wildfly предоставляет следующие операторы:

add

read-attribute

read-children-names

read-children-resources

read-children-types

read-operation-description

read-operation-names

read-resource

read-resource-description

remove

validate-address

write-attribute

Мы можем использовать их специально, предваряя операторы двоеточиями:

/subsystem=logging:read-operation-names

В приведенном выше примере будут получены операторы в подсистеме ведения журнала:

{
    "outcome" => "success",
    "result" => [
        "add",
        "list-add",
        "list-clear",
        "list-get",
        "list-log-files",
        "list-remove",
        "map-clear",
        "map-get",
        "map-put",
        "map-remove",
        "query",
        "read-attribute",
        "read-attribute-group",
        "read-attribute-group-names",
        "read-children-names",
        "read-children-resources",
        "read-children-types",
        "read-log-file",
        "read-operation-description",
        "read-operation-names",
        "read-resource",
        "read-resource-description",
        "remove",
        "undefine-attribute",
        "whoami",
        "write-attribute"
    ]
}

Суммировать

В этой статье объясняются файлы конфигурации wildfly и операции, связанные с управлением ресурсами. Надеюсь, вам понравится.

Автор статьи: о программе flydean

Ссылка на эту статью:Ву Ву Floyd Press.com/wild fly-con…

Источник этой статьи: блог flydean

Добро пожаловать на мой официальный аккаунт: самая популярная интерпретация, самая глубокая галантерея, самые краткие уроки и множество трюков, о которых вы не знаете, ждут вас!