JBoss使用Tomcat作为Web容器,因此在JBoss中对于Web容器的配置也类似于在Tomcat中的配置,主要就是对于server.xml文件的编辑,在JBoss 5.x中,这个文件位于${JBOSS.HOME}\server\${confifure}\deploy\jbossweb.sar下,其中configure的值可以是all, default,web,standard, minimal等。下面的代码展示了一个JBoss default配置下的server.xml,由于篇幅原因,将其中的注释都已经去掉了。
Xml代码 收藏代码
<Server>
<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
<Listener className="org.apache.catalina.core.JasperListener" />
<Service name="jboss.web">
<Connector protocol="HTTP/1.1" port="8080" address="${jboss.bind.address}"
connectionTimeout="20000" redirectPort="8443" compression="on"
compressionMinSize="1" compressableMimeType="text/html,text/xml" />
<Engine name="jboss.web" defaultHost="localhost">
<Realm className="org.jboss.web.tomcat.security.JBossWebRealm"
certificatePrincipal="org.jboss.security.auth.certs.SubjectDNMapping"
allRolesMode="authOnly"
/>
<Host name="localhost">
<Valve className="org.jboss.web.tomcat.service.jca.CachedConnectionValve"
cachedConnectionManagerObjectName="jboss.jca:service=CachedConnectionManager"
transactionManagerObjectName="jboss:service=TransactionManager" />
</Host>
</Engine>
</Service>
</Server>
在上面的配置文件中,Server是根节点,一个Server就代表一个Servlet容器,因此在server.xml中,这个节点只能有一个,在Server节点下,可以存在一个或者多个Service节点。
一个Service节点代表了一个或者多个Connector和一个Engine,而Connector和Engine是在server.xml中两个重要的配置项,Connector的主要功能是接受、响应用户请求。常用的Connector有HTTP/1.1 Connector和AJP Connector,HTTP/1.1 Connector主要用于处理用户的HTTP请求,需要注意的是虽然它名叫HTTP/1.1 Connector,但是是完全兼容HTTP/1.0协议的。AJP Connector主要使用AJP协议和Web Connector通信,通常用于集群中。
HTTP/1.1 Connector的实例监听在用户配置的端口上,当应用服务器启动时,HTTP/1.1 Connector负责创建若干线程,用于处理用户请求,创建的线程数目取决于用户配置的minThreads值,默认为5,当有更多的用户请求到来时,HTTP/1.1 Connector将会创建更多的线程用于处理请求,创建线程的最大值由maxThreads定义,默认值为20,当所有的线程都在忙于处理用户请求时,新到来的请求将会放入HTTP/1.1 Connector创建的Socket队列中,队列的长度由acceptCount属性定义,当等待队列也被占用满了,新来的用户请求将会收到connection refused错误。
所有的Connector提供的配置项(不完全版scheme, isSecure, xpoweredBy, useIPVHosts ):
allowTrace 如果需要服务器能够处理用户的HAED/TRACE请求,这个值应该设置为true,默认值是false;
emptySessionPath 如果设置为true,所有session,cookie的path将会被设置为/,这种设置通常是在portlet中比较有用,默认值是false;
enableLookups 如果需要在调用request.getRemoteHost()方法时获取到客户端的机器名,则需要配置为true,如果配置为false,将会跳过DNS查询直接返回客户端机器的IP地址,通常为了提高性能,将此值设置为false,默认值是true;
maxPostSize POST方法能够提交的数据的最大大小,如果没有声明或者设置为小于等于0,则表示POST提交的数据大小是不限制的,默认值是2Megabytes.
protocol 设置处理请求的协议,默认是HTTP/1.1,即org.apache.coyote.http11.Http11Protocol,此外还支持的协议有:org.apache.coyote.http11.Http11NioProtocol(通过NIO处理用户请求,可以提高系统性能), org.apache.coyote.http11.HttpAprProtocol。
proxyName/proxyPort 如果Web服务器使用了代理服务器,配置此参数意味着在调用request.getServerName的时候将会获取代理服务器的名称,getServerPort()将会返回proxyPort。
redirectPort 如果Connector的配置是支持非SSL的请求,当一个SSL请求到来时,服务器会自动的将请求重定位到redirectPort。
URIEncoding URI字节转化成String的时候的编码方式,默认为ISO-8859-1,如果页面需要支持中文,一般可以将其设置为UTF-8或者GBK,GB2312。
useBodyEncodingForURI 如果设置为true,则会根据页面的编码决定URI的编码方式,默认是false。
Http/1.1 Connector提供的配置项:
acceptCount 等待队列的长度,默认值是100。
address 如果Tomcat所在的主机有多个IP,这个值声明了用于监听HTTP请求的IP地址。
bufferSize Connector创建的输入流的大小,默认值是2048 bytes,提高这个值可以提升性能,增加内存消耗。
compressableMimeType 使用HTTP压缩的MIME类型,使用逗号分割,默认值是 text/html,text/xml,text/plain。
compression 为了节省带宽,可以将这个值设置为on,从而启用HTTP/1.1 GZIP压缩。off关闭压缩,forces强制使用压缩,默认值是off。
connectionTimeout Connector接受一个连接后等待的时间(milliseconds),默认值是60000。
executor 在Service节点下,Connector节点前可以配置一个Executor节点用于管理线程,这个属性的值是配置的Executor的名称,如果应用了此属性且executor存在,那么任何其他的关于thread的配置将会被忽略。
keepAliveTimeout 在Connector关闭连接前,Connector为另外一个请求Keep Alive所等待的微妙数,默认值和 connectionTimeout 一样。
maxHttpHeaderSize HTTP请求、响应头信息的最大大小,默认是8192bytes。
maxKeepAliveRequests HTTP/1.0 Keep Alive 和HTTP/1.1 Keep Alive / Pipeline的最大请求数目,如果设置为1,将会禁用掉Keep Alive和Pipeline,如果设置为小于0的数,Keep Alive的最大请求数将没有限制。默认为100。
maxThreads 用于处理用户请求的最大线程数,默认值是20。
noCompressionUserAgents: 设置不使用HTTP GZIP压缩的客户端,使用逗号分隔,在某些浏览器不支持压缩的时候可以使用此属性。
port Connector监听的端口。
restrictedUserAgents 设置不使用Keep Alive的客户端代理名称,使用逗号分割,默认值是空字符串。
server 覆盖HTTP响应的serve头信息,如果不设置的话,默认值是 Apache-Coyote/1.1。一般情况下不需要关注此属性。
socketBuffer Socket输出流缓冲区的大小,默认是9000bytes,如果设置为小于0的值,则表示不使用此缓冲区。
tcpNoDelay 默认值是true,设置为true可以提高系统性能。
threadPriority 请求处理线程的优先级,默认的优先级是NORMAL。
http://maleo.iteye.com/blog/698347
Xml代码 收藏代码
<Server>
<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
<Listener className="org.apache.catalina.core.JasperListener" />
<Service name="jboss.web">
<Connector protocol="HTTP/1.1" port="8080" address="${jboss.bind.address}"
connectionTimeout="20000" redirectPort="8443" compression="on"
compressionMinSize="1" compressableMimeType="text/html,text/xml" />
<Engine name="jboss.web" defaultHost="localhost">
<Realm className="org.jboss.web.tomcat.security.JBossWebRealm"
certificatePrincipal="org.jboss.security.auth.certs.SubjectDNMapping"
allRolesMode="authOnly"
/>
<Host name="localhost">
<Valve className="org.jboss.web.tomcat.service.jca.CachedConnectionValve"
cachedConnectionManagerObjectName="jboss.jca:service=CachedConnectionManager"
transactionManagerObjectName="jboss:service=TransactionManager" />
</Host>
</Engine>
</Service>
</Server>
在上面的配置文件中,Server是根节点,一个Server就代表一个Servlet容器,因此在server.xml中,这个节点只能有一个,在Server节点下,可以存在一个或者多个Service节点。
一个Service节点代表了一个或者多个Connector和一个Engine,而Connector和Engine是在server.xml中两个重要的配置项,Connector的主要功能是接受、响应用户请求。常用的Connector有HTTP/1.1 Connector和AJP Connector,HTTP/1.1 Connector主要用于处理用户的HTTP请求,需要注意的是虽然它名叫HTTP/1.1 Connector,但是是完全兼容HTTP/1.0协议的。AJP Connector主要使用AJP协议和Web Connector通信,通常用于集群中。
HTTP/1.1 Connector的实例监听在用户配置的端口上,当应用服务器启动时,HTTP/1.1 Connector负责创建若干线程,用于处理用户请求,创建的线程数目取决于用户配置的minThreads值,默认为5,当有更多的用户请求到来时,HTTP/1.1 Connector将会创建更多的线程用于处理请求,创建线程的最大值由maxThreads定义,默认值为20,当所有的线程都在忙于处理用户请求时,新到来的请求将会放入HTTP/1.1 Connector创建的Socket队列中,队列的长度由acceptCount属性定义,当等待队列也被占用满了,新来的用户请求将会收到connection refused错误。
所有的Connector提供的配置项(不完全版scheme, isSecure, xpoweredBy, useIPVHosts ):
allowTrace 如果需要服务器能够处理用户的HAED/TRACE请求,这个值应该设置为true,默认值是false;
emptySessionPath 如果设置为true,所有session,cookie的path将会被设置为/,这种设置通常是在portlet中比较有用,默认值是false;
enableLookups 如果需要在调用request.getRemoteHost()方法时获取到客户端的机器名,则需要配置为true,如果配置为false,将会跳过DNS查询直接返回客户端机器的IP地址,通常为了提高性能,将此值设置为false,默认值是true;
maxPostSize POST方法能够提交的数据的最大大小,如果没有声明或者设置为小于等于0,则表示POST提交的数据大小是不限制的,默认值是2Megabytes.
protocol 设置处理请求的协议,默认是HTTP/1.1,即org.apache.coyote.http11.Http11Protocol,此外还支持的协议有:org.apache.coyote.http11.Http11NioProtocol(通过NIO处理用户请求,可以提高系统性能), org.apache.coyote.http11.HttpAprProtocol。
proxyName/proxyPort 如果Web服务器使用了代理服务器,配置此参数意味着在调用request.getServerName的时候将会获取代理服务器的名称,getServerPort()将会返回proxyPort。
redirectPort 如果Connector的配置是支持非SSL的请求,当一个SSL请求到来时,服务器会自动的将请求重定位到redirectPort。
URIEncoding URI字节转化成String的时候的编码方式,默认为ISO-8859-1,如果页面需要支持中文,一般可以将其设置为UTF-8或者GBK,GB2312。
useBodyEncodingForURI 如果设置为true,则会根据页面的编码决定URI的编码方式,默认是false。
Http/1.1 Connector提供的配置项:
acceptCount 等待队列的长度,默认值是100。
address 如果Tomcat所在的主机有多个IP,这个值声明了用于监听HTTP请求的IP地址。
bufferSize Connector创建的输入流的大小,默认值是2048 bytes,提高这个值可以提升性能,增加内存消耗。
compressableMimeType 使用HTTP压缩的MIME类型,使用逗号分割,默认值是 text/html,text/xml,text/plain。
compression 为了节省带宽,可以将这个值设置为on,从而启用HTTP/1.1 GZIP压缩。off关闭压缩,forces强制使用压缩,默认值是off。
connectionTimeout Connector接受一个连接后等待的时间(milliseconds),默认值是60000。
executor 在Service节点下,Connector节点前可以配置一个Executor节点用于管理线程,这个属性的值是配置的Executor的名称,如果应用了此属性且executor存在,那么任何其他的关于thread的配置将会被忽略。
keepAliveTimeout 在Connector关闭连接前,Connector为另外一个请求Keep Alive所等待的微妙数,默认值和 connectionTimeout 一样。
maxHttpHeaderSize HTTP请求、响应头信息的最大大小,默认是8192bytes。
maxKeepAliveRequests HTTP/1.0 Keep Alive 和HTTP/1.1 Keep Alive / Pipeline的最大请求数目,如果设置为1,将会禁用掉Keep Alive和Pipeline,如果设置为小于0的数,Keep Alive的最大请求数将没有限制。默认为100。
maxThreads 用于处理用户请求的最大线程数,默认值是20。
noCompressionUserAgents: 设置不使用HTTP GZIP压缩的客户端,使用逗号分隔,在某些浏览器不支持压缩的时候可以使用此属性。
port Connector监听的端口。
restrictedUserAgents 设置不使用Keep Alive的客户端代理名称,使用逗号分割,默认值是空字符串。
server 覆盖HTTP响应的serve头信息,如果不设置的话,默认值是 Apache-Coyote/1.1。一般情况下不需要关注此属性。
socketBuffer Socket输出流缓冲区的大小,默认是9000bytes,如果设置为小于0的值,则表示不使用此缓冲区。
tcpNoDelay 默认值是true,设置为true可以提高系统性能。
threadPriority 请求处理线程的优先级,默认的优先级是NORMAL。
http://maleo.iteye.com/blog/698347
发表评论
-
关于分拆短信问题
2013-07-08 15:26 755关于分拆短信的总结 -
生成java安全证书
2013-03-20 10:55 874============================= ... -
eclipse安装svn插件
2013-03-15 14:04 585step1:在“D:\eclipse4.2\dropins” ... -
eclipse插件记录
2012-05-09 11:01 621正则相关:http://www.myregexp.com/ec ... -
DOM与DHTML简介
2012-03-31 11:17 1023DOM与DHTML简介 学 ... -
JAXWS服务器端创建及发布(二)
2012-03-29 16:05 1151JAXWS接口如何定义? 接口定义: @WebServic ... -
进程和线程的联系和区别
2012-03-29 15:57 1133定义: 一、进程是具有一定独立功能的程序关于某个数据集合上的一 ... -
SSL原理
2012-03-28 10:29 723SSL原理 一 前言 首先 ... -
如何把Https网站中的安全证书导入到java中的cacerts证书库?
2012-03-27 17:43 772其实很简单,方法如下: 每一步:进入某个https://ww ... -
tomcat访问中去掉项目名称
2012-03-26 17:05 1006<Context docBase="../wt ... -
tomcat https配置
2012-03-26 17:04 7711、利用keytool工具生成.keystore文件,并且放置 ... -
java中Keytool的使用总结
2012-03-26 15:12 662Keytool 是一个Java 数据证书的管理工具 ,K ... -
再读java思想——初始化与清除
2012-03-22 11:32 6001、为了能用简便、面向对象的语法来编写代码——即“发送消息给对 ... -
再读java思想——一切皆对象
2012-03-21 16:39 7571、数据存储 寄存器(register):这 ... -
再读java思想----一切皆对象
2012-03-20 11:38 9281、在良好的面向对象设计中,每个对象都能很好的完成一项任务,但 ... -
再读java思想----一切皆对象
2012-03-20 11:35 01、在良好的面向对象设计中,每个对象都能很好的完成一项任务,但 ... -
tomcat配置
2012-01-16 16:02 638<Context docBase="E:\pr ... -
apache先骨干项目
2011-12-19 16:05 809分类 项目名 说明 ... -
apache-ftpserver-1.0.6
2011-12-19 14:55 10081、配置文件 ftpd-typical.xml ... -
Java 理论与实践: 线程池与工作队列
2011-11-10 17:15 569https://www.ibm.com/developerwo ...
相关推荐
在Connector配置中,还能够启用内容压缩(compression),设定压缩的最小字节数(compressionMinSize)以及指定哪些MIME类型可以被压缩。 对于Connector的线程管理,Tomcat允许用户配置线程池的最小线程数...
本人电脑上已经配置好的相关配置文件 包括: tomcat-connectors-1.2.40-windows-x86_64-httpd-2.4.x.zip httpd.conf server.xml(tomcat) mod_jk.conf uriworkermap.properties vhosts.conf workers.properties
【标题】:“Tomcat及其配置文件” 在Java Web开发领域,Tomcat是一个广泛使用的开源应用服务器,它专注于Servlet和JSP的应用。Tomcat是Apache软件基金会的Jakarta项目的一部分,作为一个轻量级的Web服务器和...
3. 安装并配置"tomcat_iis_connector",这通常涉及到修改IIS的ISAPI扩展或FastCGI设置,以及Tomcat的Connector配置。 4. 设置Tomcat,确保它可以处理来自IIS的请求,可能需要配置`server.xml`文件中的Connector元素...
1. 调整`server.xml`中的`Connector`元素,如增大最大连接数,调整线程池大小等。 2. 使用JVM的调优工具,如JConsole或VisualVM,监控和调整内存分配。 **启动和停止Tomcat**: 1. 在命令行中,使用`bin`目录下的...
- `server.xml`:这是Tomcat的主要配置文件,可以定义服务器端口、Connector、Context等。例如,你可以更改默认的HTTP端口8080以避免与其他服务冲突。 - `web.xml`:全局Web应用配置文件,定义全局的Servlet、过滤...
在整合过程中,可能需要在httpd.conf中添加mod_proxy_ajp模块的配置,以代理请求到Tomcat,同时在server.xml中配置Tomcat的AJP监听器,以接收来自Apache的请求。 "工具"标签可能是指博客中介绍了一些实用工具或步骤...
### 在Tomcat中配置HTTPS详解 #### 一、引言 随着互联网技术的发展与安全意识的提高,HTTPS已经成为现代Web应用的标准配置之一。HTTPS通过在HTTP的基础上加入SSL/TLS加密层,确保了数据传输的安全性。本文将详细...
本篇文章将详细讲解如何在Apache Tomcat服务器中配置HTTPS。 首先,我们需要生成一个密钥对,这通常包括一个公钥证书(Certificate)和一个私钥(Private Key)。在这个案例中,我们使用了名为"GenerateCommand....
同时,考虑启用SSL,修改<Connector>元素添加SSL配置,并生成和配置keystore文件。 【管理Tomcat】 1. **启动与停止**:通过命令行执行`startup.sh`或`shutdown.sh`启动或关闭Tomcat。Windows用户可以使用`startup...
5. **配置文件详解**:重点讲解`server.xml`,这是Tomcat的主要配置文件,包括端口号设置、Connector(连接器)配置、Context(应用上下文)定义等。还会涉及`web.xml`,它是Web应用的部署描述符,定义了应用的全局...
标题中的“tomcat_iis_connector”指的是Tomcat与IIS之间的连接器,它允许IIS(Internet Information Services)和Tomcat应用服务器进行交互,实现两者之间的集成。在Web服务器领域,IIS是微软公司推出的一款强大的...
标题中的“Tomcat支持HTTPS配置”是指在Apache Tomcat服务器上启用安全套接层(SSL)协议,以提供加密通信和身份验证。这通常涉及到在Web应用中使用HTTPS(HTTP over SSL/TLS)协议,以保护用户的敏感信息,如登录...
本篇文章将详细介绍如何在Tomcat中配置HTTPS证书认证,以便实现安全的Web服务。 首先,我们需要了解HTTPS的基本原理。HTTPS是在HTTP协议的基础上加入SSL/TLS(Secure Socket Layer/Transport Layer Security)协议...
为了增强安全性,建议配置`server.xml`中的`<Connector>`元素,启用SSL支持,添加`secure="true"`,`scheme="https"`,并配置keystore文件路径和密码。 10. **性能优化** Tomcat的性能可以通过调整配置文件中的...
**server.xml**:这是Tomcat的主要配置文件,包含服务器端口、Connector配置(与IIS的交互)、Context定义等关键设置。在IIS和Tomcat整合中,我们需要对这个文件进行适当修改,比如添加AJP或HTTP Connector,以使...
1. **修改端口**:如果你需要改变Tomcat默认的8080端口,可以编辑$CATALINA_HOME/conf/server.xml文件中的Connector元素,修改port属性。 2. **设置用户和角色**:为了安全起见,应配置Tomcat的管理员账号。在$...
### Tomcat服务参数配置详解 #### 一、Tomcat简介及安装 Tomcat是一款开源的Servlet容器,由Apache软件基金会下属的Jakarta项目开发。它实现了对Servlet和JavaServer Pages (JSP)技术的支持,并提供了作为Web...