Tomcat でのコネクタ構成

Tomcat でのコネクタ構成

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 のデフォルト設定での server.xml ファイルを示しています。スペースの都合上、コメントは削除されています。

<サーバー> 
  <リスナークラス名="org.apache.catalina.core.AprLifecycleListener" SSLEngine="オン" /> 
  <リスナークラス名="org.apache.catalina.core.JasperListener" /> 
  <サービス名="jboss.web"> 
   <コネクタ プロトコル="HTTP/1.1" ポート="8080" アドレス="${jboss.bind.address}"  
        接続タイムアウト="20000" リダイレクトポート="8443" 圧縮="オン"  
        圧縮最小サイズ="1" 圧縮可能なMimeType="text/html,text/xml" /> 
   <エンジン名="jboss.web" デフォルトホスト="localhost"> 
     <レルムクラス名="org.jboss.web.tomcat.security.JBossWebRealm" 
      証明書プリンシパル="org.jboss.security.auth.certs.SubjectDNMapping" 
      allRolesMode="認証のみ" 
      /> 
     <ホスト名="localhost">  
      <Valve クラス名="org.jboss.web.tomcat.service.jca.CachedConnectionValve" 
      cachedConnectionManagerオブジェクト名="jboss.jca:service=CachedConnectionManager" 
      トランザクションマネージャオブジェクト名="jboss:service=TransactionManager" /> 
     ホスト> 
   エンジン> 
  サービス> 
サーバー>

上記の構成ファイルでは、Server がルート ノードです。1 つの Server は Servlet コンテナを表します。したがって、server.xml にはこのようなノードが 1 つだけ存在できます。Server ノードの下には、1 つ以上の Service ノードが存在する場合があります。

サービス ノードは 1 つ以上のコネクタと 1 つのエンジンを表します。コネクタとエンジンは server.xml 内の 2 つの重要な構成項目です。コネクタの主な機能は、ユーザー要求を受け入れて応答することです。よく使用されるコネクタには、HTTP/1.1 コネクタと AJP コネクタがあります。HTTP/1.1 コネクタは主にユーザーの HTTP リクエストを処理するために使用されます。HTTP/1.1 コネクタと呼ばれていますが、HTTP/1.0 プロトコルと完全に互換性があることに注意してください。 AJP コネクタは主に AJP プロトコルを使用して Web コネクタと通信し、通常はクラスターで使用されます。

HTTP/1.1 コネクタ インスタンスは、ユーザーが設定したポートをリッスンします。アプリケーション サーバーが起動すると、HTTP/1.1 コネクタは、ユーザー要求を処理するために複数のスレッドを作成します。作成されるスレッドの数は、ユーザーが設定した minThreads 値によって決まります。この値はデフォルトで 5 です。ユーザー要求がさらに到着すると、HTTP/1.1 コネクタは要求を処理するためにさらにスレッドを作成します。作成されるスレッドの最大数は maxThreads によって定義され、デフォルト値は 20 です。すべてのスレッドがユーザー要求の処理でビジー状態の場合、新しい着信要求は HTTP/1.1 コネクタによって作成されたソケット キューに配置されます。キューの長さは acceptCount 属性によって定義されます。待機キューもいっぱいになると、新しいユーザー要求は接続拒否エラーを受け取ります。

コネクタによって提供されるすべての構成項目 (不完全なスキーム、isSecure、xpoweredBy、useIPVHosts):

  • allowTrace サーバーがユーザーの HAED/TRACE 要求を処理できるようにする必要がある場合、この値を true に設定する必要があります。デフォルト値は false です。
  • emptySessionPath true に設定すると、すべてのセッションと Cookie のパスが / に設定されます。この設定は通常、ポートレットで役立ちます。デフォルト値は false です。
  • enableLookups request.getRemoteHost() メソッドを呼び出すときにクライアントのマシン名を取得する必要がある場合は、これを true に設定する必要があります。これを false に設定すると、DNS クエリはスキップされ、クライアント マシンの IP アドレスが直接返されます。通常、パフォーマンスを向上させるために、この値は false に設定されます。デフォルト値は true です。
  • maxPostSize POST メソッドで送信できるデータの最大サイズ。宣言されていないか、0 以下に設定されている場合は、POST で送信されるデータのサイズが無制限であることを意味します。デフォルト値は 2 メガバイトです。
  • 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 コネクタが非 SSL 要求をサポートするように構成されている場合、SSL 要求が到着すると、サーバーは要求を自動的に redirectPort にリダイレクトします。
  • URIEncoding URI バイトを文字列に変換するときのエンコード方法。デフォルトは ISO-8859-1 です。ページで中国語をサポートする必要がある場合は、通常、UTF-8 または GBK、GB2312 に設定できます。
  • useBodyEncodingForURI true に設定すると、URI エンコード方式はページ エンコードに基づいて決定されます。デフォルトは false です。

Http/1.1 コネクタによって提供される構成項目:

  • acceptCount 待機キューの長さ。デフォルト値は 100 です。
  • アドレス Tomcat が配置されているホストに複数の IP がある場合、この値は HTTP 要求をリッスンするために使用される IP アドレスを宣言します。
  • bufferSize コネクタによって作成される入力ストリームのサイズ。デフォルト値は 2048 バイトです。この値を増やすと、パフォーマンスが向上し、メモリ消費量が増加する可能性があります。
  • compressedMimeType は、コンマで区切られた HTTP 圧縮 MIME タイプを使用します。デフォルト値は text/html、text/xml、text/plain です。
  • 圧縮 帯域幅を節約するには、この値をオンにして HTTP/1.1 GZIP 圧縮を有効にします。 off は圧縮をオフにし、強制圧縮を強制します。デフォルト値は off です。
  • connectionTimeout コネクタが接続を受け入れた後に待機する時間 (ミリ秒)。デフォルト値は 60000 です。
  • executor サービス ノードでは、コネクタ ノードの前に Executor ノードを設定してスレッドを管理できます。このプロパティの値は、設定された Executor の名前です。このプロパティが適用され、Executor が存在する場合、スレッドに関するその他の設定は無視されます。
  • keepAliveTimeout コネクタが接続を閉じる前に別の Keep Alive 要求を待機するマイクロ秒数。デフォルト値は connectionTimeout と同じです。
  • maxHttpHeaderSize HTTP 要求および応答ヘッダー情報の最大サイズ。デフォルト値は 8192 バイトです。
  • 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 コネクタがリッスンするポート。
  • restrictUserAgents は、Keep Alive を使用しないクライアント エージェント名をコンマで区切って設定します。デフォルト値は空の文字列です。
  • server は HTTP 応答の serve ヘッダーを上書きします。設定されていない場合、デフォルト値は Apache-Coyote/1.1 です。通常、このプロパティに注意を払う必要はありません。
  • socketBuffer ソケット出力ストリーム バッファのサイズ。デフォルトは 9000 バイトです。0 未満の値に設定されている場合、このバッファは使用されません。
  • tcpNoDelay のデフォルト値は true です。これを true に設定すると、システム パフォーマンスが向上します。
  • threadPriority 要求処理スレッドの優先度。デフォルトの優先度は NORMAL です。

要約する

以上がこの記事の全内容です。この記事の内容が皆様の勉強や仕事に何らかの参考学習価値をもたらすことを願います。123WORDPRESS.COM をご愛顧いただき、誠にありがとうございます。これについてもっと知りたい場合は、次のリンクをご覧ください。

以下もご興味があるかもしれません:
  • Tomcat での jar のロードに関する異常な問題の分析と解決
  • Apache、Tomcat、Nginx サーバーの詳細な理解と比較分析
  • Linux で Tomcat を実行するいくつかの方法の説明
  • Tomcat 7.0 で仮想ディレクトリを設定し、仮想パスを構成する方法
  • IDEAリモートデバッグを使用したTomcatの説明
  • TomcatはLog4jを使用してcatalina.outログを出力します。
  • Tomcatのデフォルトプログラム公開パスの使用と変更についての説明
  • Eclipse プロジェクトを IDEA にインポートし、Tomcat にデプロイするための詳細な手順
  • Tomcatのデフォルトパスの設定によって発生するプロジェクトURLの競合を解決する方法の詳細な説明
  • Tomcat サーバーが tomcat7w.exe を開けない場合の解決策

<<:  MySQLの起動失敗の解決策

>>:  CocosCreator最適化DrawCallの詳細な説明

推薦する

ウェブサイトのカラースキーム ウェブサイトに適した色の選択

色はウェブサイト訪問者に影響を与えますか?数年前までは、ウェブサイトはまだ贅沢品でしたが、今ではほと...

Linux で利用可能なネットワーク インターフェイスを表示する方法

序文Linux システムをインストールした後の最も一般的なタスクは、ネットワーク構成です。もちろん、...

MySQL の on と where における左結合設定条件の使用法の違いの分析

この記事では、MySQL の左結合における on 条件と where 条件の使用法の違いを例を使って...

さまざまなマウスの形状を表現する方法

<a href = "http://" style = "cur...

js は axios 制限リクエスト キューを実装します

目次背景は次のとおりです。何が起こるでしょうか?背景は次のとおりです。実際の開発では、ネットワークの...

ウェブデザイナーが知っておくべき効率的なナビゲーションデザインの3つの原則

ウェブサイトのナビゲーションを設計することは、家の基礎を築くようなものです。基礎がしっかりしていなけ...

モバイルデバイス上のぼやけた小さなアイコンの問題を解決する方法

序文以前、画像とテキストの垂直方向のずれの問題について説明しました。ここで示した小さな例では、小さな...

MySQL 主キー ID を生成する方法 (自己増分、一意、不規則)

目次1. uuid関数を使用して、一意かつ不規則な主キーIDを生成します。 2. idの自動成長1....

【Webデザイン】E-WebTemplates の美しい海外の Web ページ テンプレート (FLASH+PSD ソース ファイル+HTML) を共有します

これらはすべて海外のE-WebTemplates WebサイトからのWebページテンプレートであり、...

MySQL 自動インクリメント ID のオーバーサイズ問題のトラブルシューティングと解決策

導入Xiao A がコードを書いていたところ、DBA Xiao B が突然、「急いでユーザー固有情報...

Html、sHtml、XHtml の違いのまとめ

たとえば、<u>には終了文字がなく、ブラウザはそれを認識します。 SHTML は Ser...

Dockerfileの指示と基本構造の説明

Dockerfile を使用すると、ユーザーはカスタム イメージを作成できます。基本構造Docker...

WebプロジェクトをIdeaにインポートし、Tomcatに公開する問題を解決します

Idea は既存の Web プロジェクトをインポートして Tomcat に公開しますが、Tomcat...

Reactは適応性の高い仮想リストを実装する

目次変換前:変換後: 0x0の基本0x1 「固定高さ」の仮想リストを実装する原理:最適化: 0x2 ...

MySQL テーブル名の大文字と小文字の選択

目次1. 大文字と小文字の区別を決定するパラメータ2. パラメータ変更に関する注意事項要約: 1. ...