jboss7学习2-jboss7入门(端口和访问的ip问题)

时间:2021-06-08 00:26:00

1、下载地址: http://www.jboss.org/jbossas/downloads ,下载Certified Java EE 6 Full Profile版本。

2、解压 jboss-as-7.1.1.Final.zip 到 D:\programs。

3、设置环境变量如下:

系统变量->新建->变量名:JAVA_HOME = C:\Java

以下是非必须的,启动.bat 中会自动寻找
系统变量->新建->变量名:CLASSPATH 变量值:.;%JAVA_HOME%\lib
系统变量->编辑->变量名:Path 在变量值的最前面加上:%JAVA_HOME%\bin;

4、启动JBoss。运行脚本D:\programs\jboss-as-7.1.1.Final\bin\standalone.bat完成启动。

5、访问http://127.0.0.1:8080/,出现 Welcome to AS 7访问界面,说明jboss启动成功。

6、停止JBoss。在Server的命令行控制台,只要按下 Ctrl + C 就能够干净的停止这个Server。

    如果不行的话,可以从一个新的命令行控制台,输入以下的命令来给运行的standalone server实例发出一个shutdown指令:

<code class="jive-code"><span style="font-family: Verdana;">$ cd bin
$ ./jboss-cli.sh --connect command=:shutdown</span></code>


添加用户

访问该Web服务器时,提示新增用户。可在服务端执行add-user.bat / add-user.sh 来添加管理员用户。

./add-user.sh
What type of user do you wish to add?
 a) Management User (mgmt-users.properties)
 b) Application User (application-users.properties)
(a):

回车后

Enter the details of the new user to add.
Realm (ManagementRealm) :                         //回车,选用默认
Username :                                        //填写管理员用户名
Password :
Re-enter Password :

添加管理员后,访问 http://127.0.0.1:9990/console 

 目录结构 

bin   Unix和Windows环境下的启动脚本和启动配置文件
bundles   存放OSGI bundle 
docs/schema  存放XML schema定义文件   
domain   domain模式的配置文件、部署内容和可写区域等 
modules   存放各种模块,AS 7是基于模块化的类加载架构 
standalone   standalone模式的配置文件、部署内容和可写区域等 
welcome-content   欢迎页面 

 

standalone目录结构 

configuration    Standalone模式的配置文件,所有配置信息都存放于此
data

服务器写入的持久化信息,比如通过web管理控制台或CLI部署的项目存放在content目录下

deployments    用户部署内容存放目录,服务器运行时能自动侦测和部署这些内容
lib/ext 利用扩展列表机制安装的library jar的存放位置。 
log    日志文件   
tmp    临时文件 

Domain目录结构 

configuration  domain 模式的配置文件,所有配置信息都存放于此
data/content 主机控制器内部工作区。内部存储部署内容的地方,用户不能操作这个目录注意:域模式不支持扫描文件系统来部署内容。
lib/ext 利用扩展列表机制安装的library jar的存放位置。 
log    日志文件
servers    应用服务器实例可写区域。每一个应用服务器实例都有它自己的子目录,当服务器第一次

启动时创建。在每个服务器的目录内包括以下的子目录:

data {-}- 服务器写入信息区 
log {-}- 日志文件
tmp {-}-  临时文件

Domain模式

JBoss AS7加入了域domain的概念,目的是使多台JBoss AS服务器的配置可以集中于一点,统一配置、统一部署,从而实现在管理多台JBoss AS服务器时,实现集中管理。

域的目的是将多台服务器组成一个服务器组,并为一个服务器组内的多台主机提供:
1.单点集中配置(通过一个域控制器,即Domain Controller,实现组内主机的统一配置)
2.单点统一部署,通过域控制器将项目一次部署至组内全部主机
 

启动

以standalone模式运行服务器: 

<JBOSS_HOME>\bin\standalone.bat     (Windows)  
<JBOSS_HOME>/bin/standalone.sh      (Unix / Linux)  


   以domain模式运行服务器: 

<JBOSS_HOME>\bin\domain.bat     (Windows)
<JBOSS_HOME>/bin/domain.sh      (Unix / Linux) 
 
关闭
<JBOSS_HOME>/bin/jboss-cli.sh --connect --command=:shutdown   //jboss7.1.x 
<JBOSS_HOME>/bin/jboss-cli.bat --connect --command=:shutdown   //jboss7.1.x 
 
修改访问的ip和端口
修改配置文件,在 <JBOSS_HOME> /standalone/configuration/standalone.xml,红色字体部分
<interfaces>
<interface name="management">
<inet-address value="${jboss.bind.address.management:127.0.0.1}" />
</interface>
<interface name="public">
<inet-address value="${jboss.bind.address:127.0.0.1}" />
</interface>
<interface name="unsecure">
<inet-address value="${jboss.bind.address.unsecure:127.0.0.1}" />
</interface>
 
<interface name="any">
<any-ipv4-address />
</interface>
</interfaces>

在上面加入红色那一段后,然后修改下面的部分

<!-- 
<socket-binding-group name="standard-sockets" default-interface="public" port-offset="${jboss.socket.binding.port-offset:0}">
 -->
<socket-binding-group name="standard-sockets" default-interface="any" port-offset="${jboss.socket.binding.port-offset:0}">
<socket-binding name="management-native" interface="management"
port="${jboss.management.native.port:9999}" />
<socket-binding name="management-http" interface="management"
port="${jboss.management.http.port:9990}" />
<socket-binding name="management-https" interface="management"
port="${jboss.management.https.port:9443}" />
<socket-binding name="ajp" port="8009" />
<socket-binding name="http" port="8080" />
<socket-binding name="https" port="8443" />
<socket-binding name="osgi-http" interface="management"
port="8090" />
<socket-binding name="remoting" port="4447" />
<socket-binding name="txn-recovery-environment" port="4712" />
<socket-binding name="txn-status-manager" port="4713" />
<outbound-socket-binding name="mail-smtp">
<remote-destination host="localhost" port="25" />
</outbound-socket-binding>
</socket-binding-group>

  以上这种设置方法是设置本机上所有的ip都可以进行访问(本机网卡配置的ip)

也可以采用下面这种方法,这是指定一个ip,只有这一个ip能进行访问

<interface name="public">
      <inet-address value="${jboss.bind.address:192.168.0.120}" />
</interface>

 也可以修改此处的ip,修改此处的ip,下面部分就不需要修改,如果是在采用的是在此处修改ip的方法,在启动jboss之前,本机必须有网卡上配置该ip,否则在jboss启动之后,再配置ip也不能进行访问,在启动的时候会抛异常,不存在该ip

MSC00001: Failed to start service jboss.network.public: org.jboss.msc.service.StartException in service jboss.network.public: JBAS015810: failed to resolve interface public
at org.jboss.as.server.services.net.NetworkInterfaceService.start(NetworkInterfaceService.java:97) [jboss-as-server-7.1.1.Final.jar:7.1.1.Final]
at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [rt.jar:1.7.0_09]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [rt.jar:1.7.0_09]
at java.lang.Thread.run(Unknown Source) [rt.jar:1.7.0_09]

修改访问端口

 在<JBOSS_HOME> /standalone/configuration/standalone.xml文件中        

<socket-binding-group name="standard-sockets" default-interface="public" port-offset="${jboss.socket.binding.port-offset:100}

默认是0,端口是根据设置的基准值+偏移量得到的,JBoss默认的访问的端口是8080,默认的偏移量是0,所以访问的端口是8080,

修改红色部分,修改偏移量,这样就可以得到新的访问端口,在浏览器访问http://192.168.0.120:8180