Управляемый домен
Возможно, вы захотите запустить экземпляр управляемого домена.Это позволит вам поддерживать два экземпляра сервера с веб-приложением каждый, а также упростит поддержку объявлений портов и интерфейсов из единого представления консоли.
Для цели будет один управляемый домен с двумя серверами.Каждый сервер будет принадлежать к другой группе серверов.Каждая группа серверов будет иметь свой собственный интерфейс или объявления портов, как вам требуется.
Это дает вам единую консоль управления с набором относительных групп серверов, которым можно назначить текущие и будущие серверы, с возможностью изменения, переназначения или отключения на лету.
Конфигурация
Файлы, о которых вам необходимо знать, являются файлами конфигурации host.xml
и domain.xml
по следующему пути к файлу.
~/JBOSS_HOME/domain/configuration
Из domain.xml
мы можем видеть группы привязки сокетов.Следующий пример является группой по умолчанию «стандартные сокеты», но вы можете создать столько групп, сколько захотите, с таким количеством или меньшим количеством объявлений, сколько вам нужно.
<socket-binding-groups>
<socket-binding-group name="standard-sockets" default-interface="public">
<socket-binding name="ajp" port="8009"/>
<socket-binding name="http" port="8080"/>
<socket-binding name="https" port="8443"/>
<socket-binding name="osgi-http" interface="management" port="8090"/>
<socket-binding name="remoting" port="4447"/>
<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="localhost" port="25"/>
</outbound-socket-binding>
</socket-binding-group>
...
Вы можете создать двегруппы привязки сокетов для ваших нужд, обслуживающие два набора портов, которые могут вам понадобиться.Как только они существуют, вы хотите, чтобы группа серверов узнала о них.Давайте посмотрим дальше на файл domain.xml
.
В следующем примере видно, что группа серверов ссылается на группу привязки сокетов.Что касается бонусных баллов, мы видим, что на них развернуто несколько приложений.Это произошло через консоль управления, но AS 7 сохраняет консоль, а CLI изменяет конфигурацию.
<server-groups>
<server-group name="main-server-group" profile="full">
<jvm name="default">
<heap size="1303m" max-size="1303m"/>
<permgen max-size="256m"/>
</jvm>
<socket-binding-group ref="full-sockets"/>
<deployments>
<deployment name="your_application.jar" runtime-name="your_application.jar"/>
<deployment name="your_application_02.ear" runtime-name="your_application_02.ear"/>
<deployment name="test.war" runtime-name="test.war"/>
</deployments>
</server-group>
<server-group name="other-server-group" profile="full-ha">
<jvm name="default">
<heap size="1303m" max-size="1303m"/>
<permgen max-size="256m"/>
</jvm>
<socket-binding-group ref="full-ha-sockets"/>
<deployments>
<deployment name="your_application_02.ear" runtime-name="your_application_02.ear"/>
<deployment name="test.war" runtime-name="test.war"/>
</deployments>
</server-group>
</server-groups>
Файл domain.xml
представляет собой конфигурацию контроллера домена, который является «боссом» управляемого домена.Фактическая информация о сервере содержится в хост-контроллере, поэтому давайте посмотрим на файл host.xml
.
<servers>
<server name="server-one" group="main-server-group">
</server>
<server name="server-two" group="main-server-group" auto-start="true">
<!-- server-two avoids port conflicts by incrementing the ports in
the default socket-group declared in the server-group -->
<socket-bindings port-offset="150"/>
</server>
<server name="server-three" group="other-server-group" auto-start="false">
<!-- server-three avoids port conflicts by incrementing the ports in
the default socket-group declared in the server-group -->
<socket-bindings port-offset="250"/>
</server>
</servers>
Мы видим три сервера в домене по умолчанию.Третий является членом группы other-server-group
, а первые два являются членами группы main-server-group
.Обратите внимание также на объявления привязки порта.
Вы можете удалить третий сервер и выделить первый и второй сервер для своего первого и второго веб-приложений соответственно.Каждый сервер может принадлежать к уникальной группе.Каждая группа может объявить уникальный порт.После этого вы готовы развернуть свои приложения в соответствующих группах, и вы в отъезде.
Использование инструментов управления
В примерах показан XML, но вам следует использовать консоль управления илиCLI управления при настройке вашей установки.Консоль достаточно проста, поэтому здесь помогут некоторые операции CLI.
Чтобы показать группы серверов:
[domain@localhost:9999 /] /server-group=*:read-resource(include-runtime=true)
Чтобы отобразить группы привязки сокетов:
[domain@localhost:9999 /] /socket-binding-group=*:read-resource(include-runtime=true)
Вы хотите предоставить конкретные значения атрибута http
, чтобы мы могли изменить нашу операцию CLI для запуска на этом дочернем узле.Включение параметра времени выполнения помогает нам отлавливать все, что передано во время выполнения, которое не было записано или сохранено в модели сервера.
[domain@localhost:9999 /] /socket-binding-group=standard-sockets/socket-binding=http:read-resource(include-runtime=true)
А вот как вы к нему пишете.
[domain@localhost:9999 /] /socket-binding-group=standard-sockets/socket-binding=http:write-attribute(name=port,value=8081)
Это должно помочь вам начать.Как вы понимаете, я фанат управляемого домена ...