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の詳細な説明

推薦する

Echarts バー水平棒グラフのサンプルコード

目次横棒グラフデータとスタイルを動的に更新するeChartsの幅と高さの適応の問題を解決する縦棒グラ...

Linux で Multitail コマンドを使用するチュートリアル

MultiTail は、tail コマンド機能と同様に、複数のドキュメントを同時に監視するために使用...

問題におけるJS演算子の調査

問題は、誰もが「メモリ リーク」について知っていることです。一般的なシナリオはいくつかあります。クロ...

Linux trコマンドの使用

1. はじめにtr はテキストの一部を変換または削除するために使用されます。 tr は transl...

ページコンテンツ全体を中央に配置して、高さがコンテンツに合わせて自動的に拡張されるようにする方法

ページコンテンツ全体を中央に配置する方法と、コンテンツに合わせて高さを自動的に拡大縮小する方法。これ...

MySQL データベース開発仕様 [推奨]

最近、問題のある新しい SQL が本番データベースに入力される数を最小限に抑えるために、開発仕様を整...

Win10 での MySQL 8.0.15 のインストールと設定のグラフィック チュートリアル

この記事ではMySQL 8.0.15のインストールと設定方法を参考までに記録します。具体的な内容は以...

Vue3+Vue-cli4 プロジェクトで Tencent スライダー検証コードを使用する方法

導入:従来の画像検証コードと比較して、スライダー検証コードには次の利点があります。サーバーは検証コー...

CentOS での Docker の詳細なインストール チュートリアル

DockerにはCEとEEがあり、CE版はコミュニティ版(無料)、EE版はセキュリティを重視したエン...

SQLの最適化では間違いがよく起こります。それはMySQLのExplain Planの使い方を理解していないからです。

目次1. 準備2. 説明計画の概要3. フィールドの詳細な説明4. パーティションクエリにはパーティ...

Linux の文字端末でマウスを使って赤い四角形を移動する方法

すべてがファイルです! UNIX はすでにそれを言っています。エリック・レイモンドはこう言いました。...

Vueタイマーの実装方法

この記事では、参考までにタイマーを実装するためのVueの具体的なコードを紹介します。具体的な内容は次...

MySQLの7種類のログの概要

MySQL には次のログ ファイルがあります。 1: 再実行ログ2: ロールバックログ(元に戻すログ...

HTML+CSS+JS でスタックカルーセル効果を実装するサンプルコード

効果:スライドショーが一方向に動く場合、各画像のサイズ、位置、透明度、レベルを変更する必要があります...

MySQLの左結合を内部結合に素早く変換するプロセス

日々の最適化プロセス中に、奇妙なことに気付きました。同じ SQL にまったく異なる 2 つの実行プラ...