博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
jboss服务器配置多实例
阅读量:6951 次
发布时间:2019-06-27

本文共 2142 字,大约阅读时间需要 7 分钟。

jboss配置多实例的重要性

在开发, 测试项目的过程中, 我们经常需要在同一台主机上, 同一个服务器上配置多个运行实例。这样做有一下几点好处:

  • 在项目开发, 调试阶段能最大限度的节省资源
  • 某个实例出现异常或错误都不会对其他实例的运行造成影响
  • 需要对某个实例进行重启、关闭等操作属于独立操作, 不会对服务器的运行造成影响

对重要性的介绍就到这里, 对jboss服务器进一步了解可以点击

本文地址: 或者, 转载请注明源地址。

jboss server配置

解决这个问题的关键其实就是对于不同的实例分配不同的端口。

在linux下, 进入到jboss的server目录下, 拷贝一份实例数据修改项目名, 如图:

Git Bash

在jboss启动时默认发布的不同实例需要使用不同的端口监听。项目复制过来后由于端口一样所以会导致端口冲突, 无法启动。解决这个问题最简单的方法就是直接在配置文件中修改端口。这种方法当然可以, 但是对于jboss服务器来说, 每个实例所需的端口数非常多, 包括http协议的8080、AJP协议的8009、JNP服务的1099、RMI命名服务的1098等等, 并且这些端口配置都分布在不同的文件, 手工修改极易出错。

考虑到这些因素, jboss服务器提供了服务, 不用繁琐的配置就能够实现多实例运行而端口不冲突。步骤如下:

1. 部署环境

以jboss 4.2.3 GA 为例, server下有两个不同的实例node1, node2(名字自定义), %JBOSS_HOME%表示jboss安装目录。

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

2. node2配置

进入node2目录, 修改node2/conf/jboss-service.xml文件, 配置如下:

ports-01
${jboss.home.url}/docs/examples/binding-manager/sample-bindings.xml
org.jboss.services.binding.XMLServicesStoreFactory

这里node2配置为使用ports-01的配置。

3. node1配置

node1默认可以不用配置, 这种情况下使用的是jboss提供的默认端口8080, 8009等, 也可以参照第一步的配置, 只需修改"ServerName"与node2不一样即可。ps: 只能是定义的四组端口范围内。

4. 自定义端口

这一步不是必须的, 上一步配置的时候已经指定了运行端口。如果你想修改实例http服务监听端口, 才需进行下列步骤。

进入node1目录, 修改node1/deploy/jboss-web.deployer/server.xml, 配置如下:

里面port="80"选项可以修改为任意的端口, 只要不冲突即可。ps: node2的配置也与node1一致。

5. 启动实例

完成上述配置后, 实例的启动非常简单。如下:

%JBOSS_HOME%/bin/run.sh -c node1 -b ip地址 &    %JBOSS_HOME%/bin/run.sh -c node2 -b ip地址 &

ip地址指的就是项目的地址。

配置说明

如果没有指定运行端口而采用默认定义的4组端口配置, 端口是以以下方式进行设定的:

http服务端口默认情况下是8080, 其他实例的端口依次在8080的基础上增加100, 对应关系如下:

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

其他端口规律和http端口规律一致。eg: AJP端口依次为8009、8109、8209、8309。

注意事项

  • 上述方法同样适用于同一台机器上面部署多个jboss而不是同一个jboss下部署多个实例
  • 如果定义的4组端口不够用, 也可以自行添加其他port组
  • 在正式环境下, 推荐将不同的实例绑定在不同的ip地址上

使用情景

  • 32位JVM限制无法使用超过2G的内存, 通过多实例可以充分利用服务器上的大内存(不理解, 有懂的人请告知)
  • 不同的jboss用于不同的用途, 比如开发环境, 测试环境的分离
  • 在同一台机器上使用不同版本的jboss服务器
  • 在同一台机器上部署基于不同JVM的jboss

转载于:https://www.cnblogs.com/blackmanba/p/3674301.html

你可能感兴趣的文章
CSS预编译是什么?
查看>>
React16时代,该用什么姿势写 React ?
查看>>
推荐一款好用的redis 在线管理工具
查看>>
java入门第二季--多态--java中的多态
查看>>
为什么自己写的组件库被引用总是报错——详解webpack的library和libraryTarget
查看>>
智能合约开发新趋势【2019】
查看>>
我的第一篇博客
查看>>
MSG_OOB unixc
查看>>
面试常见问题
查看>>
React中Fetch之cors跨域请求的使用
查看>>
在Developerkit开发板上运行blink例程
查看>>
【董天一】关于IPFS的热门问题
查看>>
IDEA 2018 搭建 Spring MVC helloworld
查看>>
蚂蚁的开放:想办法摸到10米的篮筐
查看>>
深入解析Immutable及 React 中实践
查看>>
【实操手册】如何把一场直播录制下来?
查看>>
JavaWEB开发10——Cookie&Session
查看>>
Zabbix 3.x 升级到 Zabbix 4.x
查看>>
推荐一个以动画效果显示github提交记录的黑科技工具:Gource
查看>>
快速探索,音视频技术不再神秘
查看>>