Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1086893
  • 博文数量: 282
  • 博客积分: 10865
  • 博客等级: 上将
  • 技术积分: 2480
  • 用 户 组: 普通用户
  • 注册时间: 2006-05-12 12:35
文章存档

2017年(1)

2016年(3)

2015年(10)

2014年(12)

2013年(5)

2012年(10)

2011年(29)

2010年(3)

2008年(13)

2007年(92)

2006年(104)

我的朋友

分类: Java

2015-07-30 20:41:27

转载地址:http://blog.csdn.net/shan9liang/article/details/17427283
项目组现在有四个项目,后续还有项目会上马,而且还要分测试服务器和部署服务器。但我们实际能动用的服务器只有两台,显然不够用。

所以尝试在一台服务器上部署多个jboss,端口冲突是必然的。

jboss不像tomcat改2,3个端口就可以了,它需要改很多端口,而且还在不同的文件夹下,稍不注意就会落下。

而且一台机器上还会冗余很多份jboss。

考虑是不是有更好的方式,例如一个jboss以不同的实例运行,既然我想到了这个问题,想来人家jboss开发者肯定也已经考虑到了。

果然,在jboss官网论坛看到了如下的叙述:

This works on jboss-5.1.0.GA : Edit the file ${JBOSS_HOME}/server/default/conf/bindingservice.beans/META-INF/bindings-jboss-beans.xml as follows -> Change ${jboss.service.binding.set:ports-default} to ${jboss.service.binding.set:ports-01}

This will change all defalt to default+100 port. HTTP - > 8180 and so on.


恍然大明白,jboss允许多个实例,每增加一个实例端口号增加100,即第一个实例端口为8080,那么第二个实例即为8180.


具体配置如下:
1、复制 ${JBOSS_HOME}/server/default文件夹,粘贴到该目录,重命名为default-jc,这是根据我自己的项目命名的,你想命名成什么就命名成什么,后面的对应上就可以。
2、更改${JBOSS_HOME}/server/default-jc/conf/bindingservice.beans/META-INF/bindings-jboss-beans.xml
把 ${jboss.service.binding.set:ports-default}改为 ${jboss.service.binding.set:ports-01}
3、如果再增加实例,那么再复制default,同时修改bindings-jboss-beans.xml 相应位置为:ports-02

一般情况下默认的4组端口足够使用,若仍不够,可自行添加其他port组。

4、在${JBOSS_HOME}/bin下添加start.bat,start-jc.bat文件,
start.bat内容为:run -c default -b 0.0.0.0
start-jc.bat内容为:run -c default-jc -b 0.0.0.0

依次运行start.bat,start-jc.bat


启动成功。

我在我的机器上实验了一个jboss启动四个实例,启动成功,截图如下:



补充说明:

1、此法也适用于同一台机器上面部署多个JBoss的情况,而不是同一个JBoss下多个实例。
2、如果允许,推荐不同的实例绑定到不同的IP地址上。
3、32位JVM限制无法使用超过2G的内存,通过多实例可以充分利用服务器上大内存。
4、不用JBoss实例用于不同用途:开发环境、测试环境、部署环境等。
5、使用此法可以在同一个机器上部署不同版本的JBoss。
6、不同应用对JVM要求不一样的情况,此法可以使jboss基于不同的jvm。

阅读(469) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~