java 2008-4-4 06:37
tomcat中的Server.xml元素详解(1)
[size=3][font=宋体]<Server port="8005" shutdown="SHUTDOWN" debug="0">
<!-- 这些指令组件关闭JMX MBeans支持[/font][/size][size=3][font=宋体] -->
<!-- 你也可以通过包含你自己的mbean描述文件配置自定义的组件,然后设置[/font][/size]
[font=宋体][size=3] “descriptors”[/size][/font][font=宋体][size=3]属性为以“;”为分隔的文件名列表严将它添加到默认列表[/size][/font]
[font=宋体][size=3] [/size][/font][font=宋体][size=3]中,例如:descriptors="/com/myfirm/mypackage/mbean-descriptor.xml"。[/size][/font]
[font=宋体][size=3]-->[/size][/font]
[font=宋体][size=3]<Listener className="org.apache.catalina.mbeans.ServerLifecycleListener" debug="0" />
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" debug="0" />[/size][/font]
[size=3][font=宋体]<!-- Global JNDI resources -->
<!-- 全局JNDI资源[/font][/size][size=3][font=宋体] -->
<GlobalNamingResources>
<!-- 出于示例目的的测试入口[/font][/size][size=3][font=宋体] -->
<Environment name="simpleValue" type="java.lang.Integer" value="30" />
<!-- 可编辑的,用来通过UserDatabaseRealm认证用户的用户数据库[/font][/size][font=宋体][size=3] -->
<Resource name="UserDatabase" auth="Container" type="org.apache.catalina.UserDatabase"
description="User database that can be updated and saved">
</Resource>
<ResourceParams name="UserDatabase">
<parameter>
<name>factory</name>
<value>org.apache.catalina.users.MemoryUserDatabaseFactory</value>
</parameter>
<parameter>
<name>pathname</name>
<value>conf/tomcat-users.xml</value>
</parameter>
</ResourceParams>
</GlobalNamingResources>[/size][/font]
[size=3][font=宋体]<!-- 一个“Service”是一个或多个共用一个单独“Container”(容器)的[/font][/size][size=3][font=宋体]“Connectors”
组合(因此,应用程序在容器中可见)。通常,这个容器是一个[/font][/size][size=3][font=宋体]“Engine”
(引擎),但这不是必须的。[/font][/size]
[font=宋体][size=3] [/size][/font][font=宋体][size=3]注意:一个“Service”自身不是一个容器,因此,在这个级别上你不可定义[/size][/font]
[font=宋体][size=3] [/size][/font][font=宋体][size=3]诸如“Valves”或“Loggers”子组件。[/size][/font]
[font=宋体][size=3]-->[/size][/font]
[size=3][font=宋体]<!-- 定义Tomcat的标准独立服务[/font][/size][size=3][font=宋体] -->
<Service name="Catalina">
<!-- 一个“Connector”(连接器)代表一个请求被接收和应答所需要的端点。每个连[/font][/size]
[font=宋体][size=3] [/size][/font][font=宋体][size=3]接器通过相关的“Container”(容器)处理请求。[/size][/font]
[size=3][font=宋体]
默认情况下,一个非SSL的HTTP/1.1的连接器被绑定在端口8080。你也可以通过[/font][/size]
[font=宋体][size=3] [/size][/font][font=宋体][size=3]根据后面的使用说明并取消第二个连接器入口的注释,在端口8443上建立一个[/size][/font]
[font=宋体][size=3] SSL HTTP/1.1[/size][/font][font=宋体][size=3]的连接器。开放SSL支持需要下面几步(参见Tomcat 5文档中怎样[/size][/font]
[font=宋体][size=3] [/size][/font][font=宋体][size=3]配置SSL的说明以取得更多的详细信息):[/size][/font]
[font=宋体][size=3] * [/size][/font][font=宋体][size=3]如果你的JDK是1.3或1.3以前的版本,下载安装JSSE 1.0.2或以后版本,并放[/size][/font]
[font=宋体][size=3] [/size][/font][font=宋体][size=3]置JAR文件到“$JAVA_HOME/jre/lib/ext”目录下。[/size][/font]
[font=宋体][size=3] * [/size][/font][font=宋体][size=3]带一个“changeit”的口令值执行:[/size][/font]
[font=宋体][size=3] %JAVA_HOME%\bin\keytool -genkey -alias tomcat -keyalg RSA (Windows)
$JAVA_HOME/bin/keytool -genkey -alias tomcat -keyalg RSA (UNIX)
[/size][/font][font=宋体][size=3]来生成它自己的证书私钥。[/size][/font]
[size=3][font=宋体]
默认情况下,当一个web应用程序调用请求时,DNS查询是可行的。这将对性能造[/font][/size]
[font=宋体][size=3] [/size][/font][font=宋体][size=3]成一些不利的影响,因此,你可以将“enableLookups”设置为“false”来关闭[/size][/font][size=3][font=宋体]DNS
查询。当DNS查询被关闭时,request.getRemoteHost()将返回包含远程客户IP地[/font][/size]
[font=宋体][size=3] [/size][/font][font=宋体][size=3]址的字符串。[/size][/font]
[font=宋体][size=3] -->[/size][/font]
[size=3][font=宋体] <!-- 在8080端口上定义一个非SSL的HTTP/1.1连接器[/font][/size][size=3][font=宋体] -->
<Connector port="8080" maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
debug="0" c disableUploadTimeout="true" />
<!-- 注意,要关闭连接超时,将connectionTimeout设置为0 -->[/font][/size]
[size=3][font=宋体] <!-- 注意:要使用gzip压缩需要设置如下属性:[/font][/size]
[font=宋体][size=3] compression="on"
compressi
noCompressi
compressableMimeType="text/html,text/xml"
-->[/size][/font]
[size=3][font=宋体] <!-- 在端口8443上定义一个SSL的HTTP/1.1的连接器[/font][/size][font=宋体][size=3] -->
<!--
<Connector port="8443"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" disableUploadTimeout="true"
acceptCount="100" debug="0" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" />
-->[/size][/font]
[size=3][font=宋体] <!-- 在端口8009上定义一个Coyote/JK2 AJP 1.3连接器[/font][/size][size=3][font=宋体] -->
<Connector port="8009" enableLookups="false" redirectPort="8443"
debug="0" protocol="AJP/1.3" />
<!-- 在8082端口上定义一个代理HTTP/1.1连接器[/font][/size][size=3][font=宋体] -->
<!-- 参见代理文档以取得这里使用属性的更多的信息。[/font][/size][font=宋体][size=3] -->
<!--
<Connector port="8082"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false"
acceptCount="100" debug="0" c
proxyPort="80" disableUploadTimeout="true" />
-->[/size][/font]