多个Jboss端口冲突配置;一个Jboss多个server端口配置

JBoss启动时默认发布的不同的服务需要开放一些端口,如果只是简单地拷贝两套JBoss或者在一个JBoss中启动多个server配置的话,会由于端口冲突而导致JBoss无法启动。

这时候我们肯定会想到手动去修改这些发生冲突的端口,可是Jboss需要修改的端口实在是太多,如下:

1. $JBoss_home/server/default/deploy/ejb3.deployer/META-INF/jboss-service.xml 修改3873端口的值;

2. $JBoss_home/server/default/deploy/jboss-web.deployer/server.xml 修改8080,8009,8443端口值。

3. $JBoss_home/server/default/conf/jboss-service.xml 修改8083,1098,1099,4444,4445,4446端口值

4. $JBoss_home/server/default/conf/jboss-minimal.xml 修改1099端口值,与3中保持一致。

5. $JBoss_home/server/default/deploy/jms/uil2-service.xml 修改8093端口值。

不过幸运的是JBoss提供了另外一种简便的方法:Binding Manager服务,不需要繁琐的端口配置就可以实现多实例(多个server)运行端口不冲突,详细步骤如下:

以JBoss 4.2.3 GA为例,假设server下有两个不同的配置node1、node2(名字无所谓,default1、default1也行),%JBOSS_HOME%表示JBoss安装目录。

关键文件是%JBOSS_HOME%\docs\examples\binding-manager\sample-bindings.xml,该文件默认情况下定义了4组不同的端口配置(port-default、port-01、port-02、port-03),也就是说默认情况下支持同一台机器部署4个JBoss实例。

1、node2配置如下
修改node2/conf/jboss-service.xml文件,配置Service Binding(默认注释掉)如下:

<mbean code="org.jboss.services.binding.ServiceBindingManager"
name="jboss.system:service=ServiceBindingManager">
<attribute name="ServerName">ports-01</attribute>
<attribute name="StoreURL">${jboss.home.url}/docs/examples/binding-manager/sample-bindings.xml</attribute>
<attribute name="StoreFactoryClassName">
org.jboss.services.binding.XMLServicesStoreFactory
</attribute>
</mbean

这里配置node2使用的是port-01端口配置。

2、node1配置如下
node1默认可以不用配置,正常启动即可,这种情况下使用的是JBoss提供的默认端口8080、8009等,也可以参照第一步的配置,只需修改“ServerName”与node1不一样即可,如ports-02,注意只能是在sample-bindings.xml中定义的四组端口范围内

4、访问地址
node1访问地址:http://192.168.10.100:8080(默认不配置的情况)或者http://192.168.10.100:8280(使用port-02的情况)
node2访问地址:http://192.168.10.100:8180(使用port-01的情况)

大家也许注意到端口的规律,默认情况下是8080,其它实例的端口依次在8080的基础上增大100,对应关系如下:

port-default     8080
port-01          8180
port-02          8280
port-03          8380

当然其他端口如AJP协议端口8009也分别变成8109、8209、8309、8409,其它以此类推

5、注意事项
1)上述配置的前提是每个实例的server.xml中HTTP协议的端口配置均为默认的8080,若该端口修改过,则需要修改sample-bindings.xml中port-default中的默认8080端口为server.xml中HTTP协议端口。
2)上述方法也同样适用于同一台机器上面部署多个JBoss的情况而不是同一个JBoss下多个配置。
3)一般情况下默认的4组端口足够使用,若仍不够,可自行添加其他port组。
4)若可能,仍是推荐不用的实例绑定到不同的IP地址上。

PS.

同一机器多JBoss实例常用场景:
1)32位JVM限制无法使用超过2G的内存,通过多实例可以充分利用服务器上大内存。
2)不用JBoss实例用于不同用途:开发环境、测试环境等。
3)希望在同一个机器上部署不同版本的JBoss。
4)希望在同一个机器上部署基于不同JVM的JBoss(不同应用对JVM要求不一样的情况)。

一开始以为这个方法,只能应用于一个Jboss下配置多个server。测试发现,当时用两个Jboss时,用这种方法也是可以的。所以Jboss还是很人性化的。

时间: 2024-08-24 19:34:34

多个Jboss端口冲突配置;一个Jboss多个server端口配置的相关文章

如何解决WAMP Server 与IIS端口冲突问题

PHP也是一门开发网页的语言,WAMP Server 是它的一个较好的集成开发环境,今日,小编发现好多Wamp Server 安装后启动local host 出现的却是IIS页面!为什么会这样呢? 出现这一类问题的用户大多数装有IIS,IIS的默认端口是80,巧了,WAMP默认端口也是这个!所以两者再访问的时候发生了冲突!所以出错了. 解决方法:1.卸掉两者之一(这个很容易,就不说了)  2.更改WAPM的默认端口号或者IIS端口号(有好多经验说).下面小编来介绍下更改Wamp Server端口

VisualSVN Server的配置和使用方法

VisualSVN Server的配置和使用方法 VisualSVN Server的配置和使用方法[服务器端] 安装好VisualSVN Server后[安装过程看这里],运行VisualSVN Server Manger,下面是启动界面: 好的,下面我来添加一个代码库[Repository],如下图: 按上图所示,创建新的代码库,在下图所示的文本框中输入代码库名称: 注意:上图中的CheckBox如果选中,则在代码库StartKit下面会创建trunk.branches.tags三个子目录:不

JBOSS EAP 6 系列三 Oracle、Mysql数据源的配置(驱动)—认识模块的使用

本文介绍JBOSS EAP 6.2中Oracle数据源的配置方式.结合之前JBOSS EAP 6.2新功能,本文初识JBOSS模块申明式容器这一特性. 模块申明式容器:JBOSS EAP不再有lib的概念,一切都是module.无论是系统调用的lib,用户编制的lib,或者应用程序引用到的第三方lib都以模块的方式构建起来,并在使用的地方申明具体使用哪个模块. 以下分三步介绍数据源的配置: 将数据库驱动构建为JBOSS内的模块 为JBOSS容器加载驱动模块 为JBOSS容器配置数据源 1.将数据

JBOSS EAP6.2.0的下载安装、环境变量配置以及部署

JBoss是纯Java的EJB(企业JavaBean)server. 第一步:下载安装 1.进入官网http://www.jboss.org/overview/,选择download EAP6.2.0,这个是最新版的, jboss-eap-6.2.0这个压缩文件就仅仅有140M那样. 2.下载完毕后,解压到一个路径纯英文的目录下,如:E:\JBOSS\jboss-eap-6.2.0 第二步:环境变量配置 JBoss的使用必须有JDK,仅仅有JRE是不行的,所以你的电脑必须首先配置Java环境变量

很多时候运行tomcat 的时候总是会提示tomcat 的端口被占用 但是任务管理器里面还找不到是哪个端口被占用了 因此很多人就重新配置tomcat 或者去修改tomcat的端口号 ,其实这么做太麻烦了 ,小弟在这里告诉你一个非常简单的方法。 1.在开始菜单中选择运行 然后输入cmd 进入DOS界面。显示如下: 2.在Dos窗口中输入netstat -ano|findst

很多时候运行tomcat 的时候总是会提示tomcat 的端口被占用 但是任务管理器里面还找不到是哪个端口被占用了 因此很多人就重新配置tomcat  或者去修改tomcat的端口号 ,其实这么做太麻烦了 ,小弟在这里告诉你一个非常简单的方法. 1.在开始菜单中选择运行  然后输入cmd  进入DOS界面.显示如下: 2.在Dos窗口中输入netstat   -ano|findstr  8080(注意的 我的Tomcat 的断口号 是8080 你的断口号是多少就写多少) 输入完成后回车 会弹出下

JBoss 系列九十六:JBoss MSC - 简介及一个简单演示样例

什么是 JBoss MSC JBoss MSC 即 JBoss Modular Service Container,是第三代 JBoss 产品 JBoss 7和WildFfly的内核,JBoss MSC 替换了之前的 JMX Kernel 和 MicroContainer,它主要特定能够总结例如以下三点: 高并发容器(A highly concurrent state machine) 无多相位,设计简单(No multiple phases, much simpler) 不依赖 JMX 和 J

JBoss 系列九十六:JBoss MSC - 简单介绍及一个简单示例

什么是 JBoss MSC JBoss MSC 即 JBoss Modular Service Container,是第三代 JBoss 产品 JBoss 7和WildFfly的内核,JBoss MSC 替换了之前的 JMX Kernel 和 MicroContainer,它主要特定可以总结如下三点: 高并发容器(A highly concurrent state machine) 无多相位,设计简单(No multiple phases, much simpler) 不依赖 JMX 和 Jav

一个jboss启动shell脚本

脚本1: #!/bin/sh # [email protected] #JBOSS_HOME JBOSS_HOME="/opt/app/jboss-eap-6.3" JAVAPTH="/opt/app/jdk1.7.0/bin" case "$1" in start) echo "Starting JBoss EAP-6.3.0..." export RUN_CONF=${JBOSS_HOME}/bin/standalone.

一个IP多个https站点配置

正常情况下,一个ip只能对应一个https网站,如何配置多个网站呢?有以下几种方法: 使用通配符证书,此证书需要到专门的证书颁发机构购买. 使用普通证书,修改ssl对应的端口,使其不发生冲突. 第一种证书往往价格比较贵,对一些大公司很适合.而对于很多小站长来说,使用普通证书可以省下来很多费用.现在介绍下第二种方法,思路如下: 假如有2个域名aaa.com和bbb.com. 首先,购买两个域名相应的证书. 其次,配置aaa使用默认的443端口即可,配置bbb使用其他端口,比如4433端口. 配置好