jboss服务器配置多实例
jboss配置多实例的重要性
在开发, 测试项目的过程中, 我们经常需要在同一台主机上, 同一个服务器上配置多个运行实例。这样做有一下几点好处:
- 在项目开发, 调试阶段能最大限度的节省资源
- 某个实例出现异常或错误都不会对其他实例的运行造成影响
- 需要对某个实例进行重启、关闭等操作属于独立操作, 不会对服务器的运行造成影响
对重要性的介绍就到这里, 对jboss服务器进一步了解可以点击这里
本文地址: http://www.cnblogs.com/blackmanba/p/3674301.html或者http://forkme.info/run-jbosses/, 转载请注明源地址。
jboss server配置
解决这个问题的关键其实就是对于不同的实例分配不同的端口。
在linux下, 进入到jboss的server目录下, 拷贝一份实例数据修改项目名, 如图:
在jboss启动时默认发布的不同实例需要使用不同的端口监听。项目复制过来后由于端口一样所以会导致端口冲突, 无法启动。解决这个问题最简单的方法就是直接在配置文件中修改端口。这种方法当然可以, 但是对于jboss服务器来说, 每个实例所需的端口数非常多, 包括http协议的8080、AJP协议的8009、JNP服务的1099、RMI命名服务的1098等等, 并且这些端口配置都分布在不同的文件, 手工修改极易出错。
考虑到这些因素, jboss服务器提供了Binding-Manager服务, 不用繁琐的配置就能够实现多实例运行而端口不冲突。步骤如下:
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文件, 配置如下:
<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配置为使用ports-01的配置。
3. node1配置
node1默认可以不用配置, 这种情况下使用的是jboss提供的默认端口8080, 8009等, 也可以参照第一步的配置, 只需修改"ServerName"与node2不一样即可。ps: 只能是定义的四组端口范围内。
4. 自定义端口
这一步不是必须的, 上一步配置的时候已经指定了运行端口。如果你想修改实例http服务监听端口, 才需进行下列步骤。
进入node1目录, 修改node1/deploy/jboss-web.deployer/server.xml, 配置如下:
<Connector port="80" address="0.0.0.0"
maxThreads="250" maxHttpHeaderSize="8192"
emptySessionPath="true" protocol="HTTP/1.1"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" />
里面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
jboss服务器配置多实例的更多相关文章
- Jboss Jmx-Console和 Jboss web-console安全设置
1.介绍 如果你暴露你的JBoss服务器通过网络(如通过启动服务器使用选项B 0.0.0.0或者通过改变jboss.bind.address首次出现0.0.0.0在.../jboss/server/d ...
- WebLogic Server 12c相对JBoss EAP 6的优势
原文来自:https://blogs.oracle.com/middlewareplace/entry/why_should_you_choose_oracle 1.多数据中心部署和集群 WebLog ...
- JBoss AS 7之初步了解(The Return Of The King)
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvam9obl9mX2xhdQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQk ...
- 最近学习工作流 推荐一个activiti 的教程文档
全文地址:http://www.mossle.com/docs/activiti/ Activiti 5.15 用户手册 Table of Contents 1. 简介 协议 下载 源码 必要的软件 ...
- SQL Server-语句类别、数据库范式、系统数据库组成(一)
前言 终于等到这一天,我要开始重新系统学习数据库了,关于数据库这块,不出意外的话,每天会定时更新一篇且内容不会包含太多,简短的内容,深入的理解,Always to review the basics. ...
- java complier compliance level问题引发的思考
http://blog.csdn.net/shan9liang/article/details/17266519 ******************************************* ...
- Microsoft SqlServer2008技术内幕:T-Sql语言基础-读书笔记1
一.理论背景:关系模型,其数学理论是集合论和谓词逻辑. 1.集合论:集合定义是把我们直观或思维中确定的,相互间有明确区别的那些对象视为一个整体,这个整体就是集合. 2.谓词逻辑:谓词是判断对象是否有某 ...
- T-SQL :SQL Server系统数据库(二)
master:master数据库储存实例范围的元数据信息,服务器配置,实例中的所有数据库信息和初始化信息. Resource:Resource数据库是一个隐藏,只读数据库,存储所有系统对象的定义.当查 ...
- shiro实战系列(一)之入门实战
一.什么是shiro? Apache Shiro 是一个强大而灵活的开源安全框架,它干净利落地处理身份认证,授权,企业会话管理和加密. Apache Shiro 的首要目标是易于使用和理解.安全有 ...
随机推荐
- Linux资源控制-CPU和内存【转】
转自:http://www.cnblogs.com/wang_yb/p/3942208.html 主要介绍Linux下, 如果对进程的CPU和内存资源的使用情况进行控制的方法. CPU资源控制 每个进 ...
- Git服务器搭建全过程分步详解【转】
转自:http://developer.51cto.com/art/201507/483448.htm GitHub是一个免费托管开源代码的Git服务器,如果我们不想公开项目的源代码,又不想付费使用, ...
- 径向基函数(RBF)神经网络
RBF网络能够逼近任意的非线性函数,可以处理系统内的难以解析的规律性,具有良好的泛化能力,并有很快的学习收敛速度,已成功应用于非线性函数逼近.时间序列分析.数据分类.模式识别.信息处理.图像处理.系统 ...
- Android项目真的要去做混淆(加密)处理
以前做项目做是懒得混淆代码,因为要处理各种第三方的混淆东西,像友盟里面加了第三方库,又要特殊处理混淆操作,所以很麻烦,也懒得去做混淆操作,so 你懂的:但今天我用一个反编译工具,发现一个很可怕的事情 ...
- 《OD大数据实战》Hadoop伪分布式环境搭建
一.安装并配置Linux 8. 使用当前root用户创建文件夹,并给/opt/下的所有文件夹及文件赋予775权限,修改用户组为当前用户 mkdir -p /opt/modules mkdir -p / ...
- 【Todo】MQ学习-RabbitMQ, ActiveMQ, Kafka等
之前学习过RabbitMQ,并且还安装过.安装记录的文章如下: Erlang:http://www.cnblogs.com/charlesblc/p/5512380.html RabbitMQ:htt ...
- 在单机Hadoop上面增加Slave
之前的文章已经介绍了搭建单机Hadoop, HBase, Hive, Spark的方式:link 现在希望在单机的基础上,加一个slave. 首先需要加上信任关系,加信任关系的方式,见前一篇文章:li ...
- Linux多线程(三)(同步互斥)
1. 线程的同步与互斥 1.1. 线程的互斥 在Posix Thread中定义了一套专门用于线程互斥的mutex函数.mutex是一种简单的加锁的方法来控制对共享资源的存取,这个互斥锁只有两种状态(上 ...
- Codeforces 424 B Megacity【贪心】
题意:给出城市(0,0),给出n个坐标,起始人数s,每个坐标k个人, 每个坐标可以覆盖到半径为r的区域,r=sqrt(x*x+y*y)的区域,问最小的半径是多少,使得城市的总人数大于等于1000000 ...
- 每个极客都应该知道的Linux技巧
每个极客都应该知道的Linux技巧 2014/03/07 | 分类: IT技术 | 0 条评论 | 标签: LINUX 分享到:18 本文由 伯乐在线 - 欣仔 翻译自 TuxRadar Linux. ...