tomcat 最大线程数

tomcat 最大线程数

我希望将 ajp 连接器的 maxThreads 增加到 500,我注意到它有一个重定向端口 8443,所以我是否也应该增加端口 8443 上连接器的 maxThreads ?

<!-- Define a SSL HTTP/1.1 Connector on port 8443
     This connector uses the JSSE configuration, when using APR, the
     connector should be using the OpenSSL style configuration
     described in the APR documentation -->
<!--
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
           maxThreads="150" scheme="https" secure="true"
           clientAuth="false" sslProtocol="TLS" />
-->

<!-- Define an AJP 1.3 Connector on port 8009 -->
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" maxThreads="500"/>

答案1

在我使用过的任何 httpd + Tomcat 设置中,我们都会删除任何 HTTP 连接器,将 AJP 连接器包含在环回中并让其在不加密的情况下运行。目标是让 Tomcat 执行 Java 应用程序工作,让 httpd 处理所有 HTTP 服务。

在 AJP 连接器的情况下,使用 redirectPort 的唯一方式是如果存在一个 Web 应用程序 (web.xml),其中包含一个安全约束,该安全约束具有一个用户数据约束,并且该用户数据约束的传输保证设置为 CONFIDENTIAL。

至少在我们的案例中,我们的应用程序很少定义这样的构造。我们通常通过 httpd 或负载平衡器处理安全通信。由于显示的数据,我们的大多数应用程序始终需要 SSL。

更新后的回应:

这是一个真正的基线 Tomcat 配置,略微进行了调整以将连接器的 maxThreads 增加到 500。它仅配置为监听环回上的 AJP/1.3 流量(以及关闭端口)。

<?xml version='1.0' encoding='utf-8'?>

<Server port="8005" shutdown="SHUTDOWN">
  <Listener className="org.apache.catalina.core.JasperListener" />
  <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
  <Listener className="org.apache.catalina.mbeans.ServerLifecycleListener" />
  <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
  <Service name="Catalina">
    <Connector port="8009" protocol="AJP/1.3" address="127.0.0.1" enableLookups="false" maxThreads="500" />
    <Engine name="Catalina" defaultHost="localhost">
      <Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true"
            xmlValidation="false" xmlNamespaceAware="false">
      </Host>
    </Engine>
  </Service>
</Server>

在 httpd 端,我们有一个 proxy_ajp.conf 文件,我们用它来专门将 URL 路径映射回 Tomcat。例如:

LoadModule proxy_ajp_module modules/mod_proxy_ajp.so

ProxyPass /fooAppA/ ajp://localhost:8009/fooAppA/
ProxyPass /fooAppB/ ajp://localhost:8009/fooAppB/

ProxyPassReverse /fooAppA/ ajp://localhost:8009/fooAppA/
ProxyPassReverse /fooAppB/ ajp://localhost:8009/fooAppB/

可以将 httpd.conf 配置为使用(并可选择强制使用)SSL。但这完全是可选的。

相关内容