最新版本:2.0.2-1

|
概览 |
|
|
目录 |
系统 |
|
类别 |
应用服务器 |
|
用户卷 |
yes |
|
最小 内存 |
160 MB |
|
操作系统 |
Linux |
|
约束 |
no |
|
问题/注释 |
|
TOMCAT 是基于 Sun Java 计算机和 Apache Tomcat 的 Web 服务器组件,它是根据 Apache 授权开发的 Java Servlet 和 JavaServer Pages 容器。 tomcat.apache.org 上提供了 Tomcat 的主要文档。 Tomcat 为 Servlet 和 JSP 提供符合标准的支持。 Tomcat 可以作为单机 Web 服务器或应用服务器工作。
TOMCAT 提供静态 Web 内容,可自动部署 Web 应用,从用户可配置的内容卷执行 servlet 和 JavaServer Pages。 文档的路径是可配置的,因此,可以在多个 Web 服务器与为不同内容提供服务的其他组件之间共享相同卷。
对于来自前端服务器(例如包含 mod_proxy_ajp 的 Apache)的请求,TOMCAT 为 Web 客户端的 HTTP/1.1 和 HTTP/1.0 协议以及 AJP 1.3 提供服务。
与 WEBx 服务器一样,Tomcat 有三个通用输出终端,用于通过内容卷上的脚本访问外部服务。 db 终端用于访问各种数据库;fs 终端用于访问共享文件存储(使用 NFS);aux 终端是为了将电子邮件发送到 SMTP 服务器而创建的。
应该使用日志终端将 TOMCAT 连接到 TOMCAT 可在其上存储日志文件的共享文件系统。
服务器的配置是使用各种属性定义的。 这些属性旨在以易于配置的方式涵盖大多数用法变型,在大多数情况下,只需要将其中的少数属性设置为非默认值
|
名称 |
最新版本 |
操作系统 |
Java 计算机版本 |
Apache Tomcat 版本 |
|
TOMCAT |
2.0.2-1 |
CentOS 5.5 |
JDK 1.6.0.22 |
6.0.29 |
|
TOMCAT64 |
2.0.2-1 |
CentOS 5.5 (64 bit) |
JDK 1.6.0.22 |
6.0.29 |
用于 TOMCAT 的资源
|
资源 |
最小值 |
最大值 |
默认值 |
|
CPU |
0.1 |
16 |
0.3 |
|
内存 |
160 MB |
4G |
512 MB |
|
带宽 |
1 Mbps |
2 Gbps |
250 Mbps |
用于 TOMCAT64 的资源
|
资源 |
最小值 |
最大值 |
默认值 |
|
CPU |
0.1 |
16 |
0.3 |
|
内存 |
160 MB |
64G |
512 MB |
|
带宽 |
1 Mbps |
2 Gbps |
250 Mbps |
请注意下列各项:
重要信息! TOMCAT 具有从 32 位 java 计算机继承的限制。 此 java 计算机无法使用超过约 2.6 Gb 的内存,为 TOMCAT 分配超过 2.8 Gb 的内存会导致效率低下。
|
资源 |
最小值 |
最大值 |
默认值 |
|
CPU |
0.1 |
16 |
0.3 |
|
内存 |
160 MB |
64G |
512 MB |
|
带宽 |
1 Mbps |
2 Gbps |
250 Mbps |
请注意下列各项:
重要信息! TOMCAT 具有从 32 位 java 计算机继承的限制。 此 java 计算机无法使用超过约 2.6 Gb 的内存,为 TOMCAT 分配超过 2.8 Gb 的内存会导致效率低下。
|
资源 |
最小值 |
最大值 |
默认值 |
|
CPU |
0.1 |
16 |
0.3 |
|
内存 |
160 MB |
64G |
512 MB |
|
带宽 |
1 Mbps |
2 Gbps |
250 Mbps |
请注意下列各项:
重要信息! TOMCAT 具有从 32 位 java 计算机继承的限制。 此 java 计算机无法使用超过约 2.6 Gb 的内存,为 TOMCAT 分配超过 2.8 Gb 的内存会导致效率低下。
存储 Java 应用会话的内存要求
除了用于 Java 应用的内存外,一定量的内存必须可用于存储应用会话。 每个空会话(没有存储其他数据)使用接近 2 KB 的内存。 在会话生存期内会使用该内存(会话的默认生存期是 30 分钟)。 通过修改应用的 web.xml 配置文件或向其添加其他部分,可以配置会话生存期。 例如:包括下面的代码可将会话生存期配置为 1 分钟:
<session-config>
<session-timeout>1</session-timeout>
</session-config>
如果预计 30 分钟内有 1 万个唯一访问者,则需要额外的 20 Mb 可用内存。 通常:所需的内存量 = 同时处于活动状态的会话的最大数量 * 会话的平均大小。
重要信息! 如果没有足够的内存可用,则 tomcat 可能会发生故障。 这取决于正在 tomcat 中运行的用户应用,并不是组件本身的限制。
终端
|
名称 |
方向 |
协议 |
说明 |
|
in |
in |
HTTP |
为 Web 客户端发出的 HTTP 请求提供服务。 支持 HTTP/1.1、HTTP/1.0 和 AJP 协议。 |
|
db |
out |
Any |
访问数据库服务器。 用法由驻留在内容卷上的任何脚本(如果有)定义。 如果未使用该终端,则可将其保持未连接状态。 |
|
fs |
out |
NFS |
访问用于共享文件存储的网络文件系统,在 NFS 上提供读/写文件访问权限。 用法由驻留在内容卷上的任何脚本(如果有)定义。 内容卷上的软件将已挂接的远程文件系统“视为”组件文件系统空间中的 /mnt/fs。 如果未使用该终端,则可将其保持未连接状态。 连接的服务器必须具有一个通过 NFS 导出的、名为 /mnt/data 的读/写共享。 |
|
log |
out |
CIFS |
访问用于存储访问和错误日志的基于 CIFS 的网络文件系统。 如果未使用该终端,则可将其保持未连接状态。 连接的服务器必须允许匿名登录并具有一个导出的、名为 share 的读/写共享。 |
|
aux |
out |
Any |
访问 SMTP 服务器以发送传出的电子邮件。 |
|
net |
out |
Any |
用于子网访问的网关输出。 |
|
mon |
out |
CCE |
向 MON 组件发送性能和资源使用情况统计信息。 |
默认接口已启用。 它用于诊断和故障排除(通过 SSH)。 此组件的未来版本可能会禁用 SSH 访问。
用户卷
|
卷 |
说明 |
|
目录 |
用于存储 tomcat 应用、应用数据、临时文件和工作文件的卷。 仅在 content_on_fs 属性设置为 off 时才使用此卷。 |
属性
|
属性名 |
类型 |
说明 |
|
content_on_fs |
字符串 |
指定内容是相对于 fs 终端上的文件系统还是位于内容卷上。 默认值:off(在内容卷上) |
|
hostname |
字符串 |
网站的主机名。 默认值:localhost |
|
tomcat_port |
整数 |
Tomcat 侦听传入的 HTTP 请求的端口。 默认值:8080 |
|
session_timeout |
整数 |
用户会话的超时(分钟),在此期间 TOMCAT 将在内存中保存与用户会话相关的所有数据。 默认值:30。 |
|
max_connections |
整数 |
允许的最大并发连接数。 在达到此数目时,仍会接受新连接,但是其处理会延迟,直到另一个连接关闭。 默认值:100 |
|
heap_size |
整数 |
为 Java 堆(-Xmx Java 选项)分配的内存(兆字节)。 如果为 0,将自动计算此值。 默认值:0 |
|
perm_size |
整数 |
为 Java 永久对象(-XX:PermSize Java 选项)分配的内存(兆字节)。 如果为 0,将自动计算此值。 默认值:0 |
|
app_base |
字符串 |
文档、工作文件和临时文件的根目录。 将在此文件夹中创建 Tomcat 的 {catalina.base} 目录的典型结构:shared 表示所有 java 应用共有的库;temp 和 work 表示临时文件和工作文件;在 work_dir 属性中定义的子目录(与 ${catalina.base}/webapps 类似)。 默认值:空 |
|
work_dir |
字符串 |
要处理的文档所在的目录。 还用于自动部署目的。 有关详细信息,请访问 Tomcat 的网站-自动应用部署。 默认值:webapps |
|
时区 |
字符串 |
指定在组件中使用的时区。 如果此属性为空,则时区未经修改且保持原样。 此处提供可支持时区的列表。 默认值:空 |
日志记录属性
|
属性名 |
类型 |
说明 |
|
logs_enabled |
字符串 |
完全启用或禁用日志记录。 默认值:no |
|
logs_base_dir |
字符串 |
存储日志文件的目录。 默认值:空,即日志将放置在已挂接的 NAS 卷的根目录中 |
|
error_log_filename |
字符串 |
错误日志的文件名前缀。 默认值:catalina |
|
log_level |
字符串 |
日志记录级别。 值为 SEVERE、WARNING、INFO、CONFIG、FINE、FINER、FINEST 和 ALL(按详细级别增大顺序排列)。 有关日志级别的更详细说明,请参阅 Tomcat 文档。 默认值:INFO |
|
enable_access_log |
字符串 |
启用或禁用访问日志。 默认值:no |
|
access_log_filename |
字符串 |
访问日志的文件名前缀。 默认值:access.log |
自定义计数器
TOMCAT 组件通过 mon 终端报告以下自定义计数器。 这些计数器属于 TOMCAT 计数器组(对于 TOMCAT64 的情况则为 TOMCAT64 计数器组):
|
计数器名称 |
说明 |
|
Classes loaded |
已加载的类的数目 |
|
Classes loaded bytes |
已加载的 KB 数 |
|
Classes unloaded |
已卸载的类的数目 |
|
Classes unloaded bytes |
已卸载的 KB 数 |
|
Classes load/unload execution time |
执行类加载/卸载操作所用的时间 |
|
Compiler compiled |
已执行的编译任务数 |
|
Compiler failed |
失败的编译任务数 |
|
Compiler invalid |
失效的编译任务数 |
|
Compiler execution time |
执行编译任务所用的时间 |
|
Heap s0 space capacity |
当前幸存者空间 0 容量 |
|
Heap s1 space capacity |
当前幸存者空间 1 容量 |
|
Heap s0 space utilization |
幸存者空间 0 利用率 |
|
Heap s1 space utilization |
幸存者空间 1 利用率 |
|
Heap eden space capacity |
当前 eden 空间容量 |
|
Heap eden space utilization |
Eden 空间利用率 |
|
Heap old space capacity |
当前的旧空间容量 |
|
Heap old space utilization |
旧空间利用率 |
|
Heap permanent space capacity |
当前的永久空间容量 |
|
Heap permanent space utilization |
永久空间利用率 |
|
Heap young generation GC events |
年轻代 GC 事件数(GC-垃圾回收) |
|
Heap young generation GC time |
年轻代垃圾回收时间 |
|
Heap number of GC events |
完整 GC 事件的数目 |
|
Heap full GC time |
完整垃圾回收的时间 |
|
Heap total GC time |
总垃圾回收时间 |
|
Pool current new generation |
当前的新一代容量 |
|
Pool min new generation |
最小的新一代容量 |
|
Pool max new generation |
最大的新一代容量 |
|
Pool current old generation |
当前的老一代容量 |
|
Pool min old generation |
最小的老一代容量 |
|
Pool max old generation |
最大的老一代容量 |
|
Pool current permanent generation |
当前的永久一代容量 |
|
Pool min permanent generation |
最小的永久一代容量 |
|
Pool max permanent generation |
最大的永久一代容量 |
|
New generation tenuring threshold |
期限阈值 |
|
New generation max tenuring threshold |
最大期限阈值 |
|
Desired survivor size |
Desired survivor size |
|
Compiler tasks |
已执行的编译任务数 |
在组件启动失败的情况下,系统日志可能记录以下错误消息:
|
错误消息 |
说明 |
|
错误: 启用了日志但未连接日志终端。 |
未连接日志终端,但 logs_enabled 或 enable_access_log 设置为 yes。 |
|
错误: 属性 content_on_fs 设置为“off”,但缺少本地内容卷。 |
content_on_fs 设置为 off,指定必须在本地挂接数据卷,但是 TOMCAT 无法挂接内容卷。 最有可能的原因是,内容卷未格式化,或未在 TOMCAT 属性中定义。 |
|
错误: 无法挂接 nfs 共享。 |
TOMCAT 无法挂接 nfs 共享。 可能的原因是,未连接 fs 或在 NAS 之前启动了 TOMCAT(或者任意组件连接到 fs 终端) |
|
消息 |
说明 |
|
数据存储容量不到可用磁盘空间的 5% |
通过 fs 终端访问的数据卷容量不到可用磁盘空间的 5%。 建议增加卷的大小。 |
|
数据存储容量不到可用磁盘空间的 1% |
通过 fs 终端访问的数据卷容量不到可用磁盘空间的 1%。 需要立即引起注意;可能发生数据丢失。 |
|
内容卷容量不到可用磁盘空间的 5% |
组件上的内容卷容量不到可用磁盘空间的 5%。 建议增加卷的大小。 |
|
内容卷容量不到可用磁盘空间的 1% |
组件上的内容卷容量不到可用磁盘空间的 1%。 需要立即引起注意;可能发生数据丢失。 |
打开日志记录时(通过设置 logs_enabled = yes 启用错误日志记录,或通过设置 enable_access_log = yes 启用访问日志记录)TOMCAT 性能可能会受影响。 下表包含使用 Apache Benchmark 实用工具(Apache Web 服务器版本 2.0 和 2.2 随附)禁用日志时执行的基准结果(指定以 rps(每秒请求数)为单位)。 Apache 网站上提供了有关 ab 的更多信息。 基准使用了下列设置:"bw=500M mem=2G cpu=2"。
|
并发 |
rps |
|
1 个并发客户端 |
2800-3200 rps |
|
10 个并发客户端 |
7500-7900 rps |
|
100 个并发客户端 |
7700-8100 rps |
简单的支持 Java 的网站
TOMCAT 将处理内容卷中的应用。
正在使用的组件:
|
属性名 |
值 |
说明 |
|
hostname |
www.mysite.org |
站点的主机名。 |
|
app_base |
MyApp |
|
|
content_on_fs |
off |
TOMCAT 将用户卷内容用于所有内容。 |
|
时区 |
EST |
EST 时区。 |
|
tomcat_port |
80 |
HTTP 协议的标准端口。 |
客户端请求到达 IN 网关。 网关会将请求转发到 TOMCAT 服务器,后者处理请求。
具有数据库、日志和监控的双层应用
正在使用的组件:
示例属性配置:
|
属性名 |
值 |
说明 |
|
hostname |
www.mysite.org |
站点的主机名 |
|
app_base |
MyApp |
|
|
content_on_fs |
on |
TOMCAT 通过 fs 终端为所有内容使用远程存储 |
|
时区 |
EST |
EST 时区 |
|
tomcat_port |
80 |
HTTP 协议的标准端口 |
|
max_connections |
200 |
最多 200 个并发用户 |
|
logs_enabled |
yes |
启用错误日志 |
|
logs_base_dir |
MyApp_Log_Dir |
|
|
log_level |
INFO |
|
|
error_log_filename |
error_log |
错误日志名称 |
|
enable_access_log |
yes |
启用访问日志 |
|
access_log_filename |
myapp_access |
访问日志名称 |
客户端请求到达 IN 网关。 网关会将请求转发到 TOMCAT 服务器,后者处理请求。 内容和日志位于存储组件。 计数器被报告给 mon 组件。
注意:Java 应用可以使用多种数据库类型。 它仅取决于应用中是否存在适当的 JDBC 驱动程序。 TOMCAT 允许将任何数据库组件连接到其 db 终端。
作为 TOMCAT 前端的 WEB5
下图显示 TOMCAT 组件作为应用服务器以及 WEB5 作为前端的用法。 WEB5 处理静态内容,并使用 AJP 协议将需要服务器端处理的所有请求重定向到 TOMCAT。

注意:有必要针对此模式在 WEB5 中启用 AJP 支持(启用 mod_proxy 和 mod_proxy_ajp)。
正在使用的组件:
示例属性配置:
|
属性名 |
值 |
说明 |
|
content_on_fs |
off |
TOMCAT 将用户卷内容用于所有内容 |
|
时区 |
EST |
EST 时区 |
其他设置具有其默认值。
WEB5 必须正确进行配置才能作为前端工作,并使用 AJP 协议与 TOMCAT 通信。
必须启用 mod_proxy 和 mod_proxy_ajp,方法是在 apache 配置中包括以下几行:
LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
必须指定要由 TOMCAT 处理的某个 url 空间路径,例如
ProxyPass /path-that-served-by-tomcat ajp://aux:8009/some-servlet ProxyPassReverse /path-that-served-by-tomcat ajp://aux:8009/some-servlet
例如:
|
路径 |
目录 |
处理者 |
|
/index.html |
静态 html 文档 |
由 WEB5 处理 |
|
/images/* |
静态图形文件 |
由 WEB5 处理 |
|
/scripts/*.php |
由 php 脚本生成的动态内容 |
由 WEB5 处理 |
|
/path-that-served-by-tomcat |
由 jsp 生成的动态内容 |
由 TOMCAT 处理 |
客户端请求到达 IN 网关。 网关会将请求转发到前端 Web 服务器,后者处理对静态 html 页面、图形文件和 php 脚本的请求。 对 jsp 页面或 servlet 页面的请求将转发到 AppServer 并由它处理。
可扩展的支持 Java 的网站
正在使用的组件:
AppServer1 和 AppServer2 的示例属性配置:
|
属性名 |
值 |
说明 |
|
content_on_fs |
off |
TOMCAT 将用户卷内容用于所有内容 |
|
时区 |
EST |
EST 时区 |
其他设置具有其默认值。
客户端请求到达 IN 网关。 网关会将请求转发到 lb 负载均衡器,后者将请求定向到服务器 AppServer1 和 AppServer2 中的一个。
组件内所用的开源和第三方软件
TOMCAT 和 TOMCAT64 除了使用其基类 LUX5 和 LUX64 分别使用的第三方开源软件包外,还使用下列第三方开源软件包。
TOMCAT
|
软件 |
版本 |
已修改 |
许可 |
说明 |
|
Apache Tomcat |
5.5.28 |
是 |
Apache 许可证v2.0 |
主页 |
|
JDK |
1.6.0.18 |
否 |
Sun-BCL |
Sun 网站上已提供 |
|
samba-client |
3.0.28-0.el5.8 |
否 |
GPLv2 |
N/A |
|
samba-common |
3.0.28-0.el5.8 |
否 |
GPLv2 |
N/A |
TOMCAT64
|
软件 |
版本 |
已修改 |
许可 |
说明 |
|
Apache Tomcat |
5.5.28 |
是 |
Apache 许可证v2.0 |
主页 |
|
JDK |
1.6.0.18 |
否 |
Sun-BCL |
Sun 网站上已提供 |
|
samba-client |
3.0.28-1.el5_2.1 |
否 |
GPLv2 |
N/A |
|
samba-common |
3.0.28-1.el5_2.1 |
否 |
GPLv2 |
N/A |
| 版权所有 © 2011 CA。 保留所有权利。 | 就该主题发送电子邮件至 CA Technologies |