zoukankan      html  css  js  c++  java
  • [jboss] 运行多个JBoss实例

    今天应用更新,放到测试服务器上打算测试。测试服务器上有个jboss4.2.3有项目在跑,我是功能改造又不想影响现有的环境。于是就想复制一份jboss4.2.3 将打包的应用放上去。但是已启动好多JVM_Bind,端口号冲突啥的。网上查查资料修改端口号折腾好久还是一团糟。jboss不像tomcat,Tomcat只需要修改两三个端口即可,而JBoss手工修改不但繁琐而且极易出错,尤其是实例多的话。

    网上搜到一个帖子解决了这问题,也让我学习了:

    JBoss提供了一种简便的方法:Binding Manager服务,不需要繁琐的端口配置就可以实现多实例运行端口不冲突,详细步骤如下:
    以JBoss 4.2.3 GA为例,%JBOSS_HOME%\docs\examples\binding-manager\sample-bindings.xml,该文件默认情况下定义了4组不同的端口配置(port-default、port-01、port-02、port-03),也就是说默认情况下支持同一台机器部署4个JBoss实例。将server应用下的default复制一份改名为node2.
    1、node2配置如下:
    修改node2/conf/jboss-service.xml文件,配置Service Binding(默认注释,取消注视修改ports-01/ports-02/ports-03即可)如下:
    name="jboss.system:service=ServiceBindingManager">
    ports-01    <!--Jboss 已在 %JBOSS_HOME%\docs\examples\binding-manager\sample-bindings.xml 配置-->
    ${jboss.home.url}/docs/examples/binding-manager/sample-bindings.xml
    org.jboss.services.binding.XMLServicesStoreFactory
    这里配置node2使用的是port-01端口配置。
    2、server/default 采用默认端口ServerName="ports-default",正常启动即可,这种情况下使用的是JBoss提供的默认端口8080、8009等,也可以参照第一步的配置,只需修改"ServerName=ports-02"即可,注意只能是在sample-bindings.xml中定义的四组端口范围内。
    3、启动实例

    在jboss\bin目录下新建start-x.bat。内容如下:
    run.bat -c node1 -b 192.168.10.100
    run.bat -c node2 -b 192.168.10.100 
    【补充】关闭实例
    shutdown -s 192.168.10.100:1099
    shutdown -s 192.168.10.100:1199
    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要求不一样的情况)。

    6.也可复制整个jboss4.2.3为 jboss4.2.3b,也将default应用复制一份改下serverName。将serverName目录下的/conf/jboss-service.xml 的ServiceBindingManager从注释中放出来。新建个bat,配置下你的servername,其实效果和上述放同一个jboss目录下的效果一致。只是看的层次比较清晰些!

    参考资料:http://blog.sina.com.cn/s/blog_6631bc8d01017yyj.html <适用jboss4.2.3以上版本>

    修改端口: http://wenku.baidu.com/view/6783cb8884868762caaed5fe.html <适用jboss4.2.3以下版本>

                   http://blog.csdn.net/wang_zhou_jian/article/details/5402847

  • 相关阅读:
    MySQL面试题-基础
    IDEA 创建Spring项目后org.springframework.boot报错
    IDEA上传项目到SVN
    解决:idea中右键项目找不到subversion
    关于fromdata的上传文件问题
    PHP清除数组中为0的元素
    PHP删除数组中重复的元素
    PHP代码篇(六)--如何根据邀请人id查询满足条件的会员上级
    PHP对URL进行字符串编码
    PHP时间戳相互转换
  • 原文地址:https://www.cnblogs.com/kentyouyou/p/3096641.html
Copyright © 2011-2022 走看看