设为首页 收藏本站
查看: 625|回复: 0

[经验分享] Tomcat中的Connector配置

[复制链接]

尚未签到

发表于 2017-1-25 07:53:27 | 显示全部楼层 |阅读模式
  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,由于篇幅原因,将其中的注释都已经去掉了。

<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。

DSC0000.gif

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-333024-1-1.html 上篇帖子: tomcat remote debug/catalina.bat 下篇帖子: 设置 tomcat 的内存大小
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表