Введение
В прошлой статье мы представили базовое использование и интерфейс управления 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
Добро пожаловать на мой официальный аккаунт: самая популярная интерпретация, самая глубокая галантерея, самые краткие уроки и множество трюков, о которых вы не знаете, ждут вас!