因默认情况下,jboss仅可通过127.0.0.1和localhost来访问。如果你想局域网中的其它IP来访问,你可以在standalone.xml文件中进行设置。注意,standalone单机模式下,只需要修改standalone.xml文件即可。
修改IP绑定地址,设置为本机IP地址即可。
<interfaces> <interfacename="management"> <inet-addressvalue="${jboss.bind.address.management:127.0.0.1}"/> </interface> <interface name="public"> <inet-addressvalue="${jboss.bind.address:127.0.0.1}"/> </interface> <interfacename="unsecure"> <inet-addressvalue="${jboss.bind.address.unsecure:127.0.0.1}"/> </interface> </interfaces>
红色标记的节点元素修改为:
<span style="font-size:18px;"><interface name="public"> <inet-address value="${jboss.bind.address:192.168.1.3}"/> </interface></span>
设置为本机所有IP都可访问JBoss应用程序,修改为:
<interface name="public"> <inet-address value="${jboss.bind.address:0.0.0.0}"/> </interface>
JBoss 默认http 的web端口为8080
<span style="font-size:18px;"><socket-binding name="http" port="8080"/></span>
<socket-binding name="http" port="80"/>
端口是根据设置的基准值+偏移量得到的,默认的偏移量为0,所以访问的端口为8080
<socket-binding-groupname="standard-sockets" default-interface="any"port-offset="${jboss.socket.binding.port-offset:0}">
假如修改为:
<socket-binding-groupname="standard-sockets" default-interface="any"port-offset="${jboss.socket.binding.port-offset:10}">
那么根据修改后的偏移量,得到新的访问端口为8090。
URL的编码设置:
<system-properties> <property name="org.apache.catalina.connector.URI_ENCODING"value="UTF-8"/> <property name="org.apache.catalina.connector.USE_BODY_ENCODING_FOR_QUERY_STRING" value="true"/> </system-properties>
domain 模式下,修改配置文件是不同的。但是,修改方法是一样的。
编辑domain/configuration/host.xml文件:
<interface name="public"> <inet-address value="${jboss.bind.address:127.0.0.1}"/> </interface>
<interface name="public"> <inet-address value="${jboss.bind.address:0.0.0.0}"/> </interface>
domain 模式中,如需要修改访问的端口,需要修改文件domain.xml在这个omain.xml文件中有standard-sockets、ha-sockets、full-sockets、full-ha-sockets、四种组类型,至于domain会调用哪个取决于domain.xml文件最后面的配置:
<server-group name="main-server-group"profile="full"> <jvm name="default"> <heap size="512m" max-size="1024m"/> <permgen max-size="256m"/> </jvm> <socket-binding-group ref="full-sockets"/> </server-group>
<socket-binding-group name="full-sockets"default-interface="public"> ........ </socket-binding-group>
<socket-bindingname="http" port="80"/>
下面将使用单独模式部署应用程序,完全是为演示而已。用户可以将部署内容(war、ear、jar、sar等)放在standalone/deployments目录内,JBoss运行时会自动部署到服务器上,这也是开发时常采用的方式。
部署模式:
1. 自动部署:
扫描器直接监控部署内容,自动部署新的内容。在standalone.xml配置片段。
<subsystemxmlns="urn:jboss:domain:deployment-scanner:1.1">
<deployment-scanner path="deployments"relative-to="jboss.server.base.dir"scan-interval="5000"/>
</subsystem>
由以上配置中可以看出JBoss会每隔5秒钟去扫描deployments目录(当JBoss以standalone模式运行的时候),您也可以将自动扫描的路径更改为别的地方,同时,您也可以配置多个自动扫描的路径。
由此,只需要把项目包放到所扫描的目录,之后系统会自动部署,部署好了之后会生成一个内容为xxx.war的xxx.war.deployed文件。项目在部署时会有以下几种标记文件,正如其名称一样,表示不同的含义。
.dodeploy 由用户放置,表明内容应该被部署或重新部署到运行时
.skipdeploy 只要这个文件存在, 禁用自动部署.
.isdeploying 部署扫描服务放置,表明它已经注意到一个. dodeploy文件,正处在部署内容的过程中,当部署完成后,将自动删除这个文件。
.deployed 部署扫描服务放置,表明内容已经被部署到运行时,如果删除此文件将取消部署。
.failed 部署扫描服务放置,表明部署失败。
.isundeploying 部署扫描服务放置,表明它已经注意到一个.deployed文件已经被删除,正在取消部署内容。执行完毕后这个文件也会被删除。
.undeployed 部署扫描服务放置,表明内容已经村运行时删除,如果用户删除这个文件,在手动模式下不会造成影响,自动模式下会重新部署。
.pending 部署扫描服务放置,表明它已经注意到要部署内容,但尚未通知服务器部署,如果扫描器检测到一些自动部署内容仍在复制过程中,或者存在一些阻止自动部署的问题,将创建这个文件。只要这个条件成立,扫描器不会通知服务器部署或取消部署任何内容。
手动部署的情况,可通过自己手动创建文件来部署新的项目,如:拷贝一个spring.war的项目包到deployment目录下,之后手动创建一个文件内容为spring.war的文件名为spring.war.deployed的文件,之后便可访问地址http://127.0.0.1/spring
您也可以拷贝一个展开的项目放到deployment目录下面,但要确保项目目录名后缀为.war之类的文件目录,如:把spring.war项目展开到spring目录,需要把spring目录拷贝到deployment目录下,同时更改名字为spring.war。同样之后创建一个文件内容为spring.war的spring.war.deployed的文件即可。
(注意:一定是使用java提供的jar工具打包成war文件才行,如果你修改了文件也要重新打包。)
JBoss AS 7之基本配置和部署(The Return Of The King),布布扣,bubuko.com
JBoss AS 7之基本配置和部署(The Return Of The King)
原文:http://blog.csdn.net/john_f_lau/article/details/32944271