2010-06-11 133 views
10

我需要在一臺機器上運行多個(超過4個)JBoss服務器實例。 我正在使用JBoss 4.2.3 GA。如何在一臺機器上運行多個JBoss實例?

+1

您基本上必須爲每個服務器設置不同的端口。查看[this](http://community.jboss.org/wiki/ConfiguringMultipleJBossInstancesOnOnemachine)教程獲取完整信息。 – 2010-06-11 08:50:13

+0

這可能會幫助您http://www.digizol.com/2006/09/jboss-4-how-to-change-port-8080-in.html – lkamal 2013-11-09 12:26:18

回答

12

我找到了答案。我們必須配置jboss-service.xml以在同一臺機器上運行多個實例。

我們可能需要保持與「JBOSS_HOME \ Serve r」下相同的「默認」實例。

我們必須在JBOSS_HOME \ Server下創建另一個文件夾「instance2」。 將所有內容從JBOSS_HOME \ Server \ default複製到這個新創建的文件夾中。

現在goto conf文件夾下的JBOSS_HOME \ Server \ instance2目錄下。 編輯jboss-service.xml。 在此配置文件中搜索mbean code="org.jboss.services.binding.ServiceBindingManager"

默認情況下,這個XML標記是註釋。我們必須對其發表評論並將端口-00更改爲端口-01

然後啓動這個instance2 jboss實例。我們可以通過使用端口號8180來訪問這個應用程序。

我們最多可以用這種方法進行3次實例。

跑得比這一點,我們必須添加一些更多的跑動標籤 JBOSS_HOME \文檔\ \實例綁定經理\樣本bindings.xml更多。

+0

您已在10分鐘內找到答案。我想你想分享這個信息。 – 2017-01-25 06:12:35

5

只需更改服務器綁定的IP即可使事情變得更簡單。

您需要多次複製整個jboss文件夾,並將run.bat配置爲在啓動時使用-b參數。

如果這是一個Windows服務器,並且您將jboss作爲服務運行,則可能還需要編輯每個實例的service.bat,以便服務器在服務控制面板中都有不同的名稱。

當我們嘗試使用不同的HTTP端口時遇到的部分問題是,jboss使用「大量」端口用於不同的目的,並且將所有這些端口號編輯爲每個實例都是唯一的是一種痛苦。通過更改綁定地址,您可以完全避免此問題。

1

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運行情況:

運行-c實例名

2

創建多個環回適配器和每個IP地址綁定到不同的實例。

無需更改端口。

RK

1

在同一臺服務器上運行JBoss的多個實例:

  1. 我們應該保持「默認」的情況相同,因爲它是** JBOSS_HOME \服務器
  2. 複製默認下具有新名稱(實例名稱)的文件夾在JBOSS_HOME \ Server下面聲明default2。將所有內容從JBOSS_HOME \ Server \ default複製到這個新創建的文件夾中。
  3. 綁定服務管理器需要在conf/jboss-service.xml中爲未使用默認端口的實例啓用。 a。 (即)在複製的實例中,轉至JBOSS_HOME \ Server \ default2目錄下的conf文件夾。編輯jboss-service.xml。 b。在此配置文件中搜索mbean code="org.jboss.services.binding.ServiceBindingManager"。 c。默認情況下,這個XML標記是註釋。我們必須取消註釋並將端口-00的值更改爲端口-01。
  4. 在「套接字傳輸連接器」下的「配置」部分中,serverBindPort必須更改爲另一個值,否則將與默認值(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> 
    

    ...

  5. 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> 
    ... 
    

  6. 在缺省2 \部署\的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 /服務器/默認設置2

$ JBOSS_HOME /服務器/默認設置2/conf目錄/的jboss-service.xml的

$ JBOSS_HOME/server/default2/deploy/ejb3.deployer/META-INF/jboss-service.xml

$ JBOSS_HOME /服務器/默認設置2 /部署/的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-網絡。德ployer/server.xml中**

7.From命令提示符進入到bin文件夾,然後運行CMD與實例:

運行-c實例名

在這種情況下,它是:運行

http://localhost:8080/myapp/ 
http://localhost:8180/myapp/ 
http://localhost:8280/myapp/ 

注:-c默認設置2

和應用程序的URL的訪問一樣,我們CA用這種方法最多可以使用3個實例。 爲了運行更多,我們必須在JBOSS_HOME \ docs \ examples \ binding-manager \ sample-bindings.xml中添加更多運行標籤。

0

想到的最快最簡單的方法就是將多個IP地址配置到主機。然後你可以使用不同的IP地址綁定到每個實例。這樣做意味着您不必更改任何默認端口並允許更輕鬆的管理環境。

1

我使用這篇文章來安裝我的。 http://wiki.adempiere.net/Setup_2_Adempiere_JBoss_server_in_1_physical_server

您應該創建不同的服務來控制adempiere服務器。

此外,如果您使用碧玉報告,爲報告使用唯一的文件名,否則您將面臨權限被拒絕的異常。

例如:如果您將「report.jrxml」附加到兩個服務器。服務器將創建/tmp/report.jrxml tmp文件。

第二個服務器也將嘗試創建相同的文件,並獲得墜毀

0

我們可以很容易地做到這一點對JBOSS EAP 一審,只需啓動JBOSS,因爲它是。

第二個實例, 將JBOSS主文件夾複製到其他位置。

轉到standalone/configuration/standalone.xml。轉到該部分(位於文件底部)並將端口偏移值設置爲某個值(EX:10000),該值在當前運行的應用程序中沒有任何端口綁定問題。這裏默認的端口保護值是0.

像往常一樣啓動第二個實例。

0

複製完整的JBoss安裝到新的位置,並與啓動新的服務器偏移選項,這將啓動服務器上現有的IP和改變端口previously_configured_port +偏移

standalone.bat -c standalone-full.xml -Djboss.socket.binding.port-offset=100

此命令將默認JBoss的控制檯999010090

現在你可以在新的部署文件夾添加到war文件,並在新的端口

開始部署
相關問題