`
holdbelief
  • 浏览: 698585 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Tomcat server.xml 文件

阅读更多

    Tomcat 服务器有一系列可配置的组件构成,这些组件与 %CATALINA_HOME%\conf\server.xml 文件中的各元素相对应,组件的配置也是通过 server.xml 文件中的元素来完成的。这些元素可以分为以下 4 类。

    (1) 顶层元素

    包括<Server> 和 <Service> 元素. <Server> 元素使整个配置文件的元素, <Service> 元素表示了一个与引擎相关的一组连接器.

    Server 元素

    Server 元素是 server.xml 的根元素, 表示整个的 Catalina Servlet 容器, 它的属性表示了作为一个整体的 Servlet 容器的特性.

    Server 元素的属性描述如下表:

 

Server 元素的属性
属性 描述
className 指定实现了 org.apache.catalina.Server 接口的类名. 如果没有类名, 将使用标准的实现. 标准的实现是 org.apache.catalina.core.StandardServer
port 指定 Tomcat 服务监听 shutdown 命令的 TCP/IP 端口号. 关闭 Tomcat 服务时, 必须从当前正在运行 Tomcat 实例的服务器上发出 shutdown 命令. 该属性是必须的.
shutdown 指定通过 TCP/IP 连接发送到 Tomcat 服务器监听 shutdown 命令的端口上的命令字符串, 用于关闭 Tomcat 服务器, 该命令是必须的.

    下面是 Server 元素的一个例子:

    <Server port="8005" shutdown="SHUTDOWN">

在 Server 元素中, 可以嵌套 Service 元素和 GlobalNamingResources 元素.

Service 元素

Service 元素表示了一个或多个连接器 (Connector) 组件的联合, 这些组件共享一个单独的引擎 (Engine) 组件来处理到来的请求. 一个或多个 Service 元素可以被嵌套在 Server 元素中.

Service 元素的属性描述如下表:

 

Service 元素
 属性  描述
 className 指定实现了 org.apache.catalina.Service 接口的类名. 如果没有指定类名, 将使用标准的实现. 标准的实现类是 org.apache.catalina.core.StandardService
 name 指定 Service 的名字. 如果你应用的是标准的 Catalina 组件, 指定的名字将被包含在日志消息中. 和特定的 Server 元素相关的每一个 Service 元素的名字必须是唯一的. 该属性是必须的.

    下面是 Service 元素的一个例子:

<Service name="Catalina">

在 Service 元素中, 可以嵌套 Connector 元素和 Engine 元素.

(2) 连接器

    充当外部客户端发送请求到一个特定的 Service (或者从 Service 接收响应) 之间的接口.

HTTP 连接器

HTTP Connector 元素表示了支持 HTTP/1.1 协议的连接器组件. 它使 Catalina 可以作为一个独立的 Web 服务器运行. HTTP 连接器组件的实例在 Tomcat 服务器的指定 TCP 端口上监听, 等待客户端连接的到来.

Connector 元素的公共属性描述如下表:

HTTP Connector 元素的公共属性
属性 描述
allowTrace 这是布尔类型的值, 用于指定是否允许 HTTP 的 TRACE 方法. 该属性的默认值为 false.
emptySessionPath 如果设置为 true, 用于会话 cookie 的所有路径都将被设置为/. 该属性的默认值为 false.
enableLookups 如果你想调用 request.getRemoteHost() 方法来执行 DNS 查询, 以返回远程客户端实际的主机名, 可以将这个属性设置为 true. 将该属性设置为 false, 将跳过 DNS 查询, 而直接返回字符串形式的 IP 地址 (也因此改善了性能). 默认情况下, DNS 查询是允许的.
maxPostSize 以字节为单位指定将被容器 FORM URL 参数解析处理的 POST 请求的最大尺寸. 如果没有指定该属性, 这个属性将被设置为 2097152
protocol 该属性的值必须是 HTTTP/1.1, 这也是默认值. 如果使用 AJP 处理器, 则该属性的值必须是 AJP/1.3
proxyName 如果这个连接器正在一个代理配置中使用, 那么配置这个属性, 指定当调用 request.getServerName() 方法时, 返回的服务器名字, 关于代理支持的更多信息, 请参见 %CATALINA_HOME%/webapps/tomcat-doc/config/http.html#Proxy.Support
proxyPort 如果这个连接器正在一个代理配置中使用, 那么配置这个属性, 指定当调用 request.getServerPort() 方法时, 返回的服务器端口号.
redirectPort 如果这个连接器支持非 SSL 的请求, 而此时接收到一个需要 SSL 传输的请求, 那么 Catalina 容器会自动将这个请求重定向到该属性所指定的端口号
scheme 设置协议得名字, 这个名字将在调用 request.getScheme() 方法时返回. 例如, 你可以为一个 SSL 连接器设置这个属性为 "https". 该属性的默认值是 "http"
secure 如果你希望对接收到的请求调用 request.isSecure() 方法是返回 true, 那么可以设置这个属性为 true (你可能希望在 SSL 连接器上这样做). 该属性的默认值是 false
URIEncoding 指定用于解码 URI 字节的字符编码, 在 %xx 后解码 URL. 如果没有指定该属性, 将使用 ISO-8859-1
   
   

    (3) 容器

    负责处理客户端的请求, 并生成响应结果的组件. 容器类元素有 <Engine>, <Host> 和 <Context>, 其中 Engine 组件为特定的 Service 处理所有请求, Host 组件为特定虚拟主机处理所有请求, Context 组件为指定的的 Web 应用程序处理所有请求.

    (4) 嵌套元素

    表示可以在容器类元素中嵌套的元素. 一些元素可以在任何容器类中嵌套, 而另一些则只能在 <Context> 元素中嵌套. 嵌套的元素包括 <Loader>, <GlobalNamingResource>, <Resource>, <Manager>, <Realm>, <Resources> 和 <Valve> 等元素.

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics