转载: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。
再啰嗦两句,有时候你感到开发过程中遇到这样那样的问题,感觉这样那样的麻烦,其实别人早遇到过相同的问题,感到过相同的不舒服,并且已经总结了成熟的解决方案。如果我们遇到问题,选择将就,很可能就错过了这些优秀的解决方案,错过了提高水平的机会。
阅读(541) | 评论(0) | 转发(0) |