很多内容摘自

https://www.jianshu.com/p/4baaf549436b

1.安装目录

安装完Jboss后得目录结构

目录 功能
appclient/ 包含应用程序客户容器的配置细节。
bin/ 包含 Red Hat 企业版 Linux 和微软 Windows 上 JBoss EAP 的启动脚本。
docs/ 许可证文件、schema 和示例。
domain/ 配置文件、部署内容和 JBoss EAP 6 以受管域运行时使用的可写入区域。
modules/ 当有服务请求时 JBoss EAP 6 动态加载的模块。
standalone/ 配置文件、部署内容和 JBoss EAP 6 以独立服务器运行时使用的可写入区域。
welcome-content/ 包含默认安装里 8080 端口上的 Welcome 应用程序使用的内容。
jboss-modules.jar 加载模块的引导机制。

Domains中的结构

 

名称 目的
configuration/ 用于受管域的配置文件。这些文件是通过管理控制台和 CLI 进行修改的,不能直接进行编辑。
data/ 关于已部署服务的信息。服务是用管理控制台或管理 CLI,而不是通过部署扫描器来部署的。因此,请不要手动在这个目录里放入文件。
log/ 包含运行在本地实例上的主机和进程控制器的运行时日志文件。
servers/ 包含某个域里的每个服务器实例的 data/、log/ 和 tmp/ 目录,其中包含的数据和顶层的 domain/
tmp/ 包含临时数据,如针对受管域检验本地用户的管理 CLI 使用的共享密钥机制相关的文件。

standalone/ 里的目录

名称 目的
configuration/ 用于独立服务器的配置文件。这些文件是通过管理控制台和 CLI 进行修改的,不能直接进行编辑。
deployments/ 关于已部署服务的信息。独立服务器包含一个部署扫描器,您可以在这个目录里放入要部署的归档文件。然而,我们推荐的方法是用管理控制台或管理 CLI 来管理部署。
lib/ 附属于独立服务器模式的外部库。默认为空。
tmp/ 包含临时数据,如针对服务器检验本地用户的管理 CLI 使用的共享密钥机制相关的文件。

2.基本概念

  • jboss-eap-7.1有两种运行模式,standalone单机模式 和 domain集群模式。
  • jboss启动服务器时,默认读取的配置文件是${JBOSS_HOME}/standalone/configuration/standalone.xml。也可以指定读取其他配置文件,命令是./standalone.sh --server-config=standalone-custom.xml
  • jboss-cli(command line interface),是jboss的命令行管理工具。执行${JBOSS_HOME}/bin/jboss-cli.sh即可进入。通过命令行实现部署卸载应用、配置系统设置和执行管理任务的功能。使用该工具修改系统配置时,最终也会作用到standalone.xml中。
  • Management Console,管理控制台。是jboss提供的web管理系统,地址在http://localhost:9990/console/App.html, 所有的操作均可通过jboss-cli实现。

3.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>
</interfaces>

缺省绑定本机,可以修改成具体的ip,如果修改成0.0.0.0则绑定所有的ip

  • 端口配置
<socket-binding-group name="standard-sockets" default-interface="public" port-offset="${jboss.socket.binding.port-offset:0}">
<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:9993}"/>
<socket-binding name="ajp" port="${jboss.ajp.port:8009}"/>
<socket-binding name="http" port="${jboss.http.port:8080}"/>
<socket-binding name="https" port="${jboss.https.port:8443}"/>
<socket-binding name="txn-recovery-environment" port=""/>
<socket-binding name="txn-status-manager" port=""/>
<outbound-socket-binding name="mail-smtp">
<remote-destination host="localhost" port=""/>
</outbound-socket-binding>
</socket-binding-group>

基于协议修改不同的端口

  • 数据源配置
 <subsystem xmlns="urn:jboss:domain:datasources:5.0">
<datasources>
<datasource jndi-name="java:jboss/datasources/ExampleDS" pool-name="ExampleDS" enabled="true" use-java-context="true">
<connection-url>jdbc:h2:mem:test;DB_CLOSE_DELAY=-;DB_CLOSE_ON_EXIT=FALSE</connection-url>
<driver>h2</driver>
<security>
<user-name>sa</user-name>
<password>sa</password>
</security>
</datasource>
<drivers>
<driver name="h2" module="com.h2database.h2">
<xa-datasource-class>org.h2.jdbcx.JdbcDataSource</xa-datasource-class>
</driver>
</drivers>
</datasources>
</subsystem>

其中driver的libray目录主要需要看module模块,上面例子放在

E:\eap7\modules\system\layers\base\com\h2database\h2\main 路径下。同时此目录下需要放置module.xml文件,格式如下:

<?xml version="1.0" encoding="UTF-8"?>

<!--
~ JBoss, Home of Professional Open Source.
~ Copyright , Red Hat, Inc., and individual contributors
~ as indicated by the @author tags. See the copyright.txt file in the
~ distribution for a full listing of individual contributors.
~
~ This is free software; you can redistribute it and/or modify it
~ under the terms of the GNU Lesser General Public License as
~ published by the Free Software Foundation; either version 2.1 of
~ the License, or (at your option) any later version.
~
~ This software is distributed in the hope that it will be useful,
~ but WITHOUT ANY WARRANTY; without even the implied warranty of
~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
~ Lesser General Public License for more details.
~
~ You should have received a copy of the GNU Lesser General Public
~ License along with this software; if not, write to the Free
~ Software Foundation, Inc., Franklin St, Fifth Floor, Boston, MA
~ - USA, or see the FSF site: http://www.fsf.org.
--> <module xmlns="urn:jboss:module:1.5" name="com.h2database.h2">
<properties>
<property name="jboss.api" value="unsupported"/>
</properties> <resources>
<resource-root path="h2-1.4.193.redhat-2.jar"/>
</resources>
<dependencies>
<module name="javax.api"/>
<module name="javax.transaction.api"/>
<module name="javax.servlet.api" optional="true"/>
</dependencies>
</module>
  • undertow配置
<subsystem xmlns="urn:jboss:domain:undertow:4.0">
<buffer-cache name="default"/>
<server name="default-server">
<http-listener name="default" socket-binding="http" redirect-socket="https" enable-http2="true"/>
<https-listener name="https" socket-binding="https" security-realm="ApplicationRealm" enable-http2="true"/>
<host name="default-host" alias="localhost">
<location name="/" handler="welcome-content"/>
<filter-ref name="server-header"/>
<filter-ref name="x-powered-by-header"/>
<http-invoker security-realm="ApplicationRealm"/>
</host>
</server>
<servlet-container name="default">
………… ………… …………
</servlet-container>
<handlers>
<file name="welcome-content" path="${jboss.home.dir}/welcome-content"/>
</handlers>
<filters>
………… ………… …………
</filters>
</subsystem>

修改后配置为

<subsystem xmlns="urn:jboss:domain:undertow:4.0">
<buffer-cache name="default"/>
<server name="default-server">
<http-listener name="default" socket-binding="http" redirect-socket="https" enable-http2="true" url-charset="GBK" decode-url="false"/>
<https-listener name="https" socket-binding="https" security-realm="ApplicationRealm" enable-http2="true"/>
<host name="default-host" alias="localhost">
<!-- <location name="/" handler="welcome-content"/> -->
<filter-ref name="server-header"/>
<filter-ref name="x-powered-by-header"/>
<http-invoker security-realm="ApplicationRealm"/>
<filter-ref name="request-dumper"/>
<access-log pattern="combined" directory="${jboss.home.dir}/standalone/log"/>
</host>
</server>
<servlet-container name="default" default-encoding="GBK" use-listener-encoding="true">
………… ………… …………
</servlet-container>
<!-- <handlers>
<file name="welcome-content" path="${jboss.home.dir}/welcome-content"/>
</handlers> -->
<filters>
………… ………… …………
<filter name="request-dumper" class-name="io.undertow.server.handlers.RequestDumpingHandler" module="io.undertow.core"/>
</filters>
</subsystem>
  • 修改http请求设置:在http-listener标签中,增加了url-charset和decode-url。其中url-charset默认使用的UTF-8,可以根据需要修改。decode-url指是否使用字符集解码url和参数,默认为true。设为false则交由后续代码进行解码处理。http-listener的详细配置属性点击这里
  • 修改容器默认字符集:在servlet-container标签中,default-encoding设置所有应用的字符集(默认为utf-8),use-listener-encoding指是否使用listener定义的编码。servlet-container的详细配置属性点击这里
  • 移除Jboss默认欢迎页面:配置文件中注释的部分,就是jboss默认欢迎页面的配置。直接注释就是将其移除,也可以将默认地址映射到某个应用上。
  • 开启http访问日志:在host标签下增加access-log这一标签,即可将http请求的信息记在日志中,便于调试。directory是日志存放的目录,默认文件名为access_log.log。pattern是要日志中记录的信息,预定义了common和combined两种模式,combined的信息丰富一些。自定义的输出模式详见此处
  • 输出http请求和响应的信息:在filters标签下增加名为request-dumper的filter,在host标签下增加命名一致的filter-ref,就能在jboss日志中输出每一个http请求的request和response信息,便于调试。
  • 应用部署
 <subsystem xmlns="urn:jboss:domain:deployment-scanner:2.0">
<deployment-scanner path="deployments" relative-to="jboss.server.base.dir" scan-interval="" runtime-failure-causes-rollback="${jboss.deployment.scanner.rollback.on.failure:false}"/>
</subsystem>

全自动模式

在默认配置下,将war包上传至${JBOSS_HOME}/standalone/deployments,服务器会在启动时和每5000毫秒间隔,检查deployments下的文件变化,部署应用。

半自动模式

增加属性 auto-deploy-zipped="false"
上传应用myApp.war至deployments文件夹后,在deployments文件夹下新建一个文件,命名为myApp.war.dodeploy,服务器检测到这个文件后,则会开始执行部署。

手动模式

增加属性scan-enabled="false"
此模式是官方推荐的生产环境部署应用方式,无需将应用上传至deployments文件夹下。首先保证myApp.war在服务器上,假设其路径为/usr/me/myApp.war
启动服务器,并使用./jboss-cli.sh --connect命令进入命令行管理界面。执行命令deploy /usr/me/myApp.war部署应用。取消部署时,在命令行管理界面执行 undeploy myApp.war
应用的数据会在${JBOSS_HOME}/standalone/data/content下,并且standalone.xml最下方会出现deployments标签,显示已经部署的应用。

 

JBoss入门的更多相关文章

  1. jboss入门学习1

    环境准备 win8 jdk1.6 jboss4.0.5 oracle10g 修改jboss默认端口 server/default/conf/jboss-service.xml 1.WebService ...

  2. wildFly(Jboss as)入门

    目录 简介 安装 使用 简介 JBoss AS 从8版本起名为wildfly.JBoss是纯Java的EJB(企业JavaBean)服务器. JBoss As 由 Redhat出品的开源免费服务器,采 ...

  3. wildfly(JBoss AS)应用服务器快速入门

    什么是wildfly JBoss AS 从8版本起名为wildfly.Wildfly是一个开源的基于JavaEE的轻量级应用服务器.可以在任何商业应用中免费使用. WildFly是一个灵活的.轻量的. ...

  4. JBoss部属和EJB调用-EJB3.0入门经典学习笔记(2)

    目录 1. 在JBoss中部属  2. 在Tomcat中调用EJB  3. 在JBoss中调用EJB  1. 在JBoss中部属 1) JBoss的配置目录 路径D:\Java\jboss6\serv ...

  5. 环境配置与JBoss安装-EJB3.0入门经典学习笔记(1)

    目录 1. JDK的安装 2. JBoss的安装 3. JBoss安装目录说明 1. JDK的安装 1) 下载JDK 下载地址:http://www.oracle.com/technetwork/ja ...

  6. JBoss快速入门知识

    1.下载地址: http://www.jboss.org/jbossas/downloads

  7. spring快速入门(二)

    一.在spring快速入门(一)的基础上,我们来了解spring是如何解决对象的创建以及对象之间的依赖关系的问题 (比如client中依赖UserAction的具体实现,UserActionImpl中 ...

  8. Maven 入门 (2)—— 创建Maven项目

    http://blog.csdn.net/kakashi8841/article/details/17427043 读这篇文章之前请先确保你成功安装了maven,如果你还没安装成功,请先看:Maven ...

  9. Quartz2之入门示例【转】

    原文地址:http://liuzidong.iteye.com/blog/1118992 环境:XP+Myeclipse6.5+JDK1.6 quartz官网:http://www.quartz-sc ...

随机推荐

  1. ubuntu命令行操作mysql常用操作

    登陆mysql harvey@harvey-Virtual-Machine:~/ruby/mydiary$ mysql -u root -p Enter password: Welcome to th ...

  2. PHP常用函数总结(180多个)

    PHP常用函数总结 数学函数 1.abs(): 求绝对值 $abs = abs(-4.2); //4.2 数字绝对值数字 2.ceil(): 进一法取整 echo ceil(9.999); // 10 ...

  3. 《java并发编程实战》读书笔记5--任务执行, Executor框架

    第6章 任务执行 6.1 在线程中执行任务 第一步要找出清晰的任务边界.大多数服务器应用程序都提供了一种自然的任务边界选择方式:以独立的请求为边界. -6.6.1 串行地执行任务 最简单的任务调度策略 ...

  4. SQL Server 连接字符串和身份验证 学习

    SQL Server .NET Data Provider 连接字符串包含一个由一些属性名/值对组成的集合.每一个属性/值对都由分号隔开.          PropertyName1=Value1; ...

  5. c# 发送web请求

    我们目前涉及到的现有的接收请求方式有三种, 第一种: 页面式的Form表单 第二种: 服务的webservice形式的xml 第三个: restful风格的post包体json 第一种比较老,博客园的 ...

  6. [水煮 ASP.NET Web API2 方法论](12-4)OData 支持的 Function 和 Action

    问题 在 Web API 中使用 OData Function 和 Action. 解决方案 可以通过 ODataModelBuilder,使用 OData 构建 ASP.NET Web API, E ...

  7. 走进 MvvmLight for Xamarin.Forms

    一.Xamarin.Forms 不使用框架时的绑定 需要注意的是BindingContent,不是DataContent <ContentPage xmlns="http://xama ...

  8. Simditor学习--vuejs集成simditor

    唠叨 因为项目需要我自己研究了和集成在vue方便以后再使用,详情官方文档在这里.希望大家有好的建议提出让我继续改进. simditor介绍 Simditor 是团队协作工具 Tower 使用的富文本编 ...

  9. (error) DENIED Redis is running in protected mode because protected mode is enabled

    在通过Java程序链接配置好的redis服务时出现 DENIED Redis is running in protected mode because protected mode is enable ...

  10. 设置iframe 载入页面的效果跟直接打开这个页面一样

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xht ...