Мне нужно запустить несколько (более 4) экземпляров сервера JBoss на одной машине. Я использую JBoss 4.2.3 GA.
Как запустить несколько экземпляров JBoss на одной машине?
Ответ 1
Я нашел ответ. Мы должны настроить jboss-service.xml для запуска нескольких экземпляров на одном компьютере.
Возможно, нам понадобится сохранить тот же самый экземпляр по умолчанию, что и в JBOSS_HOME\Serve.
Нам нужно создать еще одну папку: "instance2" в разделе JBOSS_HOME\Server. Скопируйте все содержимое из JBOSS_HOME\Server\default в эту вновь созданную папку.
Теперь перейдите в папку conf в каталоге JBOSS_HOME\Server\instance2.
Измените jboss-service.xml.
Найдите mbean code="org.jboss.services.binding.ServiceBindingManager"
в этом файле конфигурации.
По умолчанию этот тег xml прокомментирован. Нам нужно прокомментировать это и изменить значение ports-00 на ports-01.
Затем запустите этот экземпляр instance2 jboss. Мы можем получить доступ к этому приложению, используя номер порта 8180.
Мы можем пройти максимум в 3 экземпляра таким образом.
Чтобы запустить больше, чем это, мы должны добавить еще несколько бегущих тегов в JBOSS_HOME\Docs\\ примеры связывания-менеджер\выборки bindings.xml.
Ответ 2
Вы можете сделать вещи намного проще, просто изменив IP-адрес, на который привязан сервер.
Вам нужно будет скопировать всю папку jboss несколько раз и настроить run.bat для использования параметра -b при запуске.
Если это сервер Windows, и вы используете jboss в качестве службы, вы можете отредактировать service.bat для каждого экземпляра, чтобы все серверы имели разные имена в панели управления службами.
Часть проблемы, с которой мы столкнулись при попытке использовать разные порты HTTP, заключалась в том, что jboss использует "много" портов для разных целей, и было больно редактировать все эти номера портов, чтобы быть уникальными для каждого экземпляра. Изменяя адрес связывания, вы можете полностью избежать этой проблемы.
Ответ 3
Создайте несколько адаптеров loopback и привяжите каждый IP-адрес к другому экземпляру.
Не нужно менять порт.
Р.К.
Ответ 4
1) Скопируйте папку по умолчанию с новым именем: имя экземпляра
2) В jboss-service.xml Раскомментируйте службу ServiceBindingManager mbean и измените имя сервера на порты-01 или 02 или 03, например: конфигурация портов-01 и ports-01/02/03 должна присутствовать в sample-bindings.xml(присутствует в docs/examples/binding-manager) И внесите изменения во все порты, упомянутые в тегах ports-01/02/03, чтобы порты не конфликтуют. Помните, что сервер будет работать на порту привязки, например, 8080/8180/8182.
из cmd promt перейдите в папку bin и запустите экземпляры с cmd:
run -c instancename
Ответ 5
Запуск нескольких экземпляров JBoss на одном сервере:
- Мы должны сохранить экземпляр "по умолчанию" таким же, как и в поле ** JBOSS_HOME\Server
- Скопируйте папку по умолчанию с новым именем (имя экземпляра), скажем default2 в разделе JBOSS_HOME\Server. Скопируйте все содержимое из JBOSS_HOME\Server\default в эту вновь созданную папку.
- Диспетчер служб привязки должен быть включен в conf/jboss-service.xml для экземпляров, которые не используют порты по умолчанию.
а. (т.е.) В скопированном экземпляре перейдите в папку conf в каталоге JBOSS_HOME\Server\default2. Измените jboss-service.xml.
б. Найдите
mbean code="org.jboss.services.binding.ServiceBindingManager"
в этом файле конфигурации. с. По умолчанию этот тег xml прокомментирован. Мы должны раскомментировать его и изменить значения портов-00 на порты-01. -
В том же файле В разделе "Коннектор транспорта Socket" в разделе "Конфигурация" серверBindPort должен быть изменен на другое значение или он будет конфликтовать с по умолчанию (4446).
<mbean code="org.jboss.remoting.transport.Connector" name="jboss.remoting:service=Connector,transport=socket" display-name="Socket transport Connector"> ... <attribute name="Configuration"> ... <attribute name="serverBindPort">25447</attribute>
...
-
В
default2/deploy/ejb3.deployer/META-INF/jboss-service.xml
, для remoting.transport.Connector mbean, порт 3873 должен быть изменен на другое значение или он будет конфликтовать с значением по умолчанию.<mbean code="org.jboss.remoting.transport.Connector" name="jboss.remoting:type=Connector,name=DefaultEjb3Connector,handler=ejb3"> <depends>jboss.aop:service=AspectDeployer</depends> <attribute name="InvokerLocator">socket://${jboss.bind.address}:25874</attribute> ...
-
В default2\deploy\jboss-web.deployer\server.xml
установить значение перенаправления порта, настроенное на шаге 4
<Connector port="8180" address="${jboss.bind.address}"
maxThreads="250" maxHttpHeaderSize="8192"
emptySessionPath="true" protocol="HTTP/1.1"
enableLookups="false" redirectPort="25447" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" />
Кроме того, значение порта, настроенное на шаге 5
<!-- Define an AJP 1.3 Connector on port 8009 -->
<Connector port="25010" address="${jboss.bind.address}" protocol="AJP/1.3" //change the connector port value to avoid conflict
emptySessionPath="true" enableLookups="false" redirectPort="25874" /> // port value configured in step 5
Таким образом, структура каталогов для настройки двух других экземпляров будет чем-то как показано ниже с изменениями в именах, выделенных жирным шрифтом.
$JBOSS_HOME/сервер/по умолчанию
$JBOSS_HOME/сервер/default2
$JBOSS_HOME/сервер/default2/CONF/JBoss-service.xml
$JBOSS_HOME/сервер/default2/развернуть/ejb3.deployer/META-INF/JBoss-service.xml
$JBOSS_HOME/сервер/default2/развернуть/JBoss-web.deployer/server.xml **
$JBOSS_HOME/сервер/default3
$JBOSS_HOME/сервер/default3/CONF/JBoss-service.xml
$JBOSS_HOME/сервер/default3/развернуть/ejb3.deployer/META-INF/JBoss-service.xml
$JBOSS_HOME/сервер/default3/развернуть/JBoss-web.deployer/server.xml **
7. Из командной строки перейдите в папку bin и запустите экземпляры с cmd:
run -c instancename
В этом случае это: выполнить -c default2
И приложения, к которым обращаются с помощью URL:
http://localhost:8080/myapp/
http://localhost:8180/myapp/
http://localhost:8280/myapp/
Примечание. Таким образом, мы можем использовать максимум 3 экземпляра. Чтобы запустить больше, нам нужно добавить еще несколько бегущих тегов в JBOSS_HOME\docs\examples\binding-manager\sample-bindings.xml.
Ответ 6
Я использовал эту статью для установки моего. http://wiki.adempiere.net/Setup_2_Adempiere_JBoss_server_in_1_physical_server
Вам необходимо создать различные службы для управления серверами adempiere.
Также, если вы работаете с сообщением jasper, используйте уникальные имена файлов для отчетов или вы столкнетесь с исключением, разрешенным для разрешения.
Пример: если вы прикрепляете "report.jrxml" к двум серверам. Сервер создаст файл /tmp/report.jrxml tmp.
Второй сервер также попытается создать тот же файл и потерпеть неудачу
Ответ 7
Самый быстрый и простой способ - просто настроить несколько IP-адресов на хостинг-машину. Затем вы можете использовать разные IP-адреса для привязки к каждому экземпляру. Это означает, что вам не нужно изменять какие-либо порты по умолчанию и позволяет управлять более легкой средой.
Ответ 8
Мы можем легко сделать это на JBOSS EAP Для первого примера просто запустите JBOSS, как есть.
для второго экземпляра, Скопируйте домашнюю папку JBOSS в другое место.
перейти в автономный /configuration/standalone.xml. перейдите в раздел (внизу файла) и установите значение смещения порта для некоторого значения (EX: 10000), которое не имеет проблемы с привязкой к порту в текущем запуске приложения. Здесь значение по умолчанию-porteset по умолчанию равно 0.
запустите второй экземпляр, как обычно.
Ответ 9
Скопируйте полную установку JBOSS в новое место и запустите новый сервер с опцией offset, которая запустит сервер на существующем ip и изменит порт на before_configured_port + offset
standalone.bat -c standalone-full.xml -Djboss.socket.binding.port-offset=100
Эта команда сделает консоль jboss по умолчанию 9990
до 10090
Теперь вы можете добавить свой военный файл в новую папку развертывания и начать развертывание на новом порту