上一主题: TOMCAT、TOMCAT64:应用服务器

下一主题: ROR: Ruby-on-Rails 应用服务器

JBOSS、JBOSS64:JBoss 应用服务器

JBOSS 组件

概览

目录

系统

类别

应用服务器

用户卷

yes

最小 内存

160M

操作系统

Linux

约束

no

功能概述

JBOSS 是基于开源 JBoss 的应用服务器组件。 JBOSS 支持两个独立版本的 JBoss 软件:

JBOSS 支持大量的高级技术和功能:

JBOSS 可从本地挂接的内容卷或可通过 fs 终端访问的网络文件系统自动部署 Web 应用。 从标准 JBoss 配置派生的几个预配置的执行环境是可用的。 应用文档的路径是可配置的,这样同一个卷可在多个 Web 服务器和其他组件之间共享,从而处理不同的内容。

JBOSS 有三个通用输出终端用于访问外部服务:db 终端用于访问各种数据库;fs 终端用于访问共享文件存储(使用 NFS);而 aux 终端用于将电子邮件发送到 SMTP 服务器。

log 终端可用于将 JBOSS 连接到 JBOSS 可存储日志文件的共享文件系统。

服务器的配置可通过属性来提供。 这些属性旨在以易于配置的方式涵盖大多数用途,大多数情况下只有几个属性需要设置为非默认值。

名称

最新版本

JBOSS

1.0.2-1

JBOSS64

1.0.2-1

边界

资源

32 位版本

资源

最小值

最大值

默认值

已测试

CPU

0.1

16

0.25

-

内存

160 MB

4 GB

1 GB

-

带宽

1 Mbps

2 Gbps

250 Mbps

-

64 位版本

资源

最小值

最大值

默认值

已测试

CPU

0.1

16

0.25

-

内存

160 MB

32 GB

1 GB

-

带宽

1 Mbps

2 Gbps

250 Mbps

-

JBOSS 的内存要求

Java 应用通常需要增加 RAM 量才能正常运行,且 JBOSS 所需的内存量取决于正在运行的应用的要求。 如果没有足够的内存可用,JBOSS 可能会崩溃或无法正常工作。 在崩溃时,会记录显示板消息。

终端

名称

方向

协议

说明

in

in

HTTP

为 Web 客户端发出的 HTTP 请求提供服务。

db

out

HTTP

访问数据库服务器。 用法由驻留在内容卷上的任何脚本(如果有)定义。 如果不使用此终端,可以让它保持未连接状态。

fs

out

HTTP

访问用于共享文件存储的网络文件系统,在 NFS 上提供读/写文件访问权限。 连接的服务器必须有名为 /mnt/data 的读/写共享。 挂接的远程文件系统被“视为”组件的文件系统空间中的 /mnt/fs。 如果不使用此终端,可以让它保持未连接状态。

log

out

CIFS

访问用于存储访问和错误日志的基于 CIFS 的网络文件系统。 已连接的服务器必须允许匿名登录并拥有名称为 share 的读/写共享。 如果不使用此终端,可以让它保持未连接状态。

aux

out

HTTP

访问用于发送传出电子邮件的 SMTP 服务器。 如果不使用此终端,可以让它保持未连接状态。

net

out

HTTP

用于子网访问的网关输出。 如果不使用此终端,可以让它保持未连接状态。

mon

out

CCE

发送性能和资源使用统计信息。 如果未使用该终端,则可将其保持未连接状态。

名称

说明

temp

用于临时存储的强制性读/写卷。 用于临时文件和应用部署。 所需的大小取决于已部署应用的大小和重新部署的频率。 此卷在组件启动时自动清理。 JBOSS 监控此卷上的可用磁盘空间,并在可用磁盘空间量下降到低于 5% 或 2% 时记录显示板消息。

目录

用于应用存储的只读卷或读/写卷。 此卷仅在 content_on_fs 属性设置为 no 的情况下使用,在这种情况下此卷是强制性卷。 如果 content_on_fs 设置为 yes 且存在内容卷,则组件将无法启动。

属性

常规属性

名称

类型

说明

jboss_env

字符串

四种操作模式之一:
JBoss 4 + JDK 5-JBoss 版本 4.2.3,JDK 版本 1.5 更新 2
JBoss 4 + JDK 6-JBoss 版本 4.2.3,JDK 版本 1.6 更新 21
JBoss 5 + JDK 5-JBoss 版本 5.1.0,JDK 版本 1.5 更新 22
JBoss 5 + JDK 6-JBoss 版本 5.1.0,JDK 版本 1.6 更新 21。
默认值:JBoss 4 + JDK 5

jboss_cfg

字符串

JBoss 的配置。 可能的值:
minimal-JBoss 的默认“minimal”配置
default-JBoss 的默认“default”配置
all-JBoss 的默认“all”配置
headless-删除了 Tomcat 和 Web 服务组件的“default”配置
all-headless-删除了 Tomcat 和 Web 服务组件的“all”配置
Web-仅启用了 Tomcat 和 Web 服务组件且用于 Web 前端的配置。
custom-用户定义的配置。 名为 JBOSS 的文件夹应当在内容卷的根目录或 fs 终端文件系统中进行创建。 应当在此文件夹中提供所有需要的文件夹(至少包括 conf、deploy 和 lib 文件夹)。

默认值:default。

heap_size

Int

已为 Java 堆分配的内存量(-Xms 和 -Xmx 选项)。 如果此属性等于“0”,则 JBOSS 会自动计算值(约 70% 的 RAM)。 如果此属性为空,则 JBOSS 根本不会将 -XMs 和 -XMx 属性传递到 JVM,且这些属性可能会直接由用户在 java_opts 属性中指定。
默认值:0。

perm_size

Int

已为 Java 永久对象分配的内存量(-XX:PermSize 和 -XX:MaxPermSize 选项)。 如果此属性等于“0”,则 JBOSS 会自动计算值(约 20% 的 RAM)。 如果此属性为空,则 JBOSS 根本不会将 -XX:PermSize 和 -XX:MaxPermSize 属性传递到 JVM,且这些属性可能会直接由用户在 java_opts 属性中指定。
默认值:0。

java_opts

字符串

先将此字符串添加到 JAVA_OPTS 环境变量,然后再启动 JVM。 此处可指定其他选项和参数(例如:堆大小、perm 大小、调试选项等)。
默认值:(空)

tcp_port

整数

JBOSS 侦听传入连接的端口。
默认值:8080。

app_base

字符串

适用于用户可部署应用且相对于数据源根目录的目录(挂接的内容卷或 NFS 挂接的共享)。
默认值:deploy。

content_on_fs

字符串

指定内容是相对于 fs 终端上的文件系统还是位于内容卷上。
默认值:off(表示内容位于内容卷上)

时区

字符串

指定在组件中使用的时区。 如果此属性为空,则时区未经修改且保持原样。 此处提供了受支持时区的列表 。
默认值:(空)

日志记录属性

名称

类型

说明

logs_enabled

字符串

启用或禁用日志记录。 有效值为 yes 或 no。如果未连接 log 终端,但此属性设置为 yes,则 JBOSS 无法启动。
默认值:no

logs_dir

字符串

存储日志的目录,为相对于日志共享的根目录。
默认值:_(空)_。

log_filename

字符串

日志文件的文件名。
默认值:jboss.log。

log_level

字符串

日志记录级别。 {需要有效值和默认值}

群集属性

名称

类型

说明

partition_name

字符串

分区的名称。 网格上具有相同分区名称的所有 JBOSS 实例都将加入到群集。 如果此属性为空,则会禁用群集支持。 默认值:(空)

典型用法

简单 Web/应用服务器

这是使用 JBOSS 组件的最简单方法。 一个 IN 网关将所有传入 HTTP 流量路由到 JBOSS 组件。 在此方案中,JBOSS 使用本地内容卷。

JBOSS 用法示例 1

正在使用的组件:

正在使用的属性:

属性

说明

jboss_env

JBoss 4, JDK 5

正在使用的 JBoss 环境。

jboss_cfg

default

JBoss 的默认配置。

tcp_port

80

HTTP 的默认端口。

app_base

目录

应用位于数据卷的 /content 子目录中。

content_on_fs

off

内容位于本地卷上。

logs_enabled

no

无日志记录。

具有外部数据存储、数据库和监控的简单 Web/应用服务器

这是一个更为复杂的示例,该示例使用外部数据存储、数据库组件和监控组件。

JBOSS 用法示例 2

正在使用的组件:

正在使用的属性:

属性

说明

jboss_env

JBoss 5, JDK 6

正在使用的最新 JBoss 环境。

jboss_cfg

default

JBoss 的默认配置。

tcp_port

80

HTTP 的默认端口。

app_base

目录

应用位于 NFS 挂接的数据卷的 /content 子目录中。

content_on_fs

on

内容位于 NFS 挂接卷上。

logs_enabled

yes

使用日志记录。

logs_dir

/jboss_logs

日志文件位于 NAS 组件的 /jboss_logs/ 子目录中。

log_filename

jboss-runtime.log

日志文件被命名为“jboss-runtime.log”。

log_level

EMERG

只记录紧急消息。

具有前端的应用服务器

在此示例中,前端 WEB5 组件处理静态内容,并将对动态生成的内容的所有请求重定向到后端 JBOSS 组件。

JBOSS 用法示例 3

正在使用的组件:

正在使用的属性:

属性

说明

jboss_env

JBoss 4, JDK 5

正在使用的 JBoss 环境。

jboss_cfg

default

JBoss 的默认配置。

tcp_port

8080

标准 JBoss TCP 端口。

app_base

目录

应用位于数据卷的 /content 子目录中。

content_on_fs

off

内容位于本地卷上。

logs_enabled

no

无日志记录。

具有群集和容错的前端、数据库、后端服务器的复杂托管环境。

这是具有群集的前端、多个群集数据库和群集的 JBoss 后端的复杂应用。

JBOSS 用法示例 4

gw4 输入网关接收传入请求,并将其转发到 URL 交换机 sw1,sw1 将对静态内容的请求(通过输出终端 1-3 发送,经由负载均衡器 lb1,然后到达 Web 前端服务器 web1 和 web2)与应用调用(通过输出终端 5-7 发送,经由后端负载均衡器 lb2,然后到达 JBoss 应用服务器 AppSrv4 和 AppSrv5)分离。 前端 Web 服务器场(web1 和 web2)处理传入请求,并且使用静态内容回复,或通过第二个负载均衡器 lb2 将请求转发到后端服务器。 前端服务器使用群集的 MySQL 数据库组件 db_1_1 和 db_1_2。 第二个负载均衡器 lb2 在群集的 JBoss 组件 AppSrv4 和 AppSrv5 之间平衡流量。 它们又使用群集的数据库组件 db_2_1 和 db_2_2。 数据存储通过 NFS 由 NAS 组件 nas 提供。

正在使用的组件:

正在使用的属性:

属性

说明

jboss_env

JBoss 5, JDK 6

正在使用的最新 JBoss 环境。

jboss_cfg

all

JBoss 的“all”配置,包括群集。

tcp_port

8080

JBoss 的默认端口。

app_base

目录

应用位于 NFS 挂接的数据卷的 /content 子目录中。

content_on_fs

on

内容位于 NFS 挂接卷上。

logs_enabled

no

无日志记录。