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

推薦する

Tomcat が設定ファイルを外部に配置するためのソリューション

質問通常の開発では、プロジェクトを Tomcat にデプロイする場合、プロジェクトを war パッケ...

VMware10 での CentOS 7 のインストールと設定のチュートリアル

Ubuntu が今日のデスクトップ ユーザーの間で最も人気のある Linux オペレーティング シス...

ブラウザの互換モードでボタン内のテキストが垂直方向に中央揃えにならない問題について簡単に説明します。

XML/HTML コードコンテンツをクリップボードにコピー<ボタンスタイル= "カ...

SQL Server での exists と except の使用法の概要

目次1. 存在する1.1 説明1.2 例1.3 交差/2017-07-21 2. 除く2.1 説明2...

JavaScript 関数のパフォーマンスを測定するさまざまな方法の比較

目次概要パフォーマンス.nowコンソール.time時間精度を短縮注意事項分割して征服する入力値に注意...

選択タグ内のオプションをクリアする3つの方法

方法1コードをコピーコードは次のとおりです。 document.getElementById(&qu...

初心者がHTMLタグを学ぶ(3)

関連記事:初心者が学ぶ HTML タグ (2)導入された HTML タグは、必ずしも XHTML 仕...

mysql バックアップ スクリプトを作成し、7 日間保存します。

スクリプトの要件: MySQL データベースを毎日バックアップし、スクリプトを 7 日間保存します。...

Linuxで大きなファイルを素早くコピーする方法

データをコピーリモートでデータをコピーする場合、通常は rsync コマンドを使用しますが、小さなフ...

Uniapp は DingTalk スキャンコード ログイン サンプル コードを実装します

UniappにはDingTalk認証ログインがないため、この記事ではDingTalk QRコードログ...

MySQL 8.0 で列を素早く追加する方法

序文: MySQL 8.0 では高速な列追加がサポートされ、数秒で大きなテーブルにフィールドを追加で...

HTMLプログラミングタグとドキュメント構造の詳細な説明

HTML を使用してコンテンツをマークアップする目的は、Web ページにセマンティクスを与えることで...

Nginx フォワードプロキシとリバースプロキシの違いと原理分析

1. フォワードプロキシとリバースプロキシの違いフォワード プロキシはクライアントのプロキシとして機...

検索履歴を実装するjQueryプラグイン

毎日jQueryプラグイン - 検索履歴を作成するためのものです。参考までに、具体的な内容は次のとお...

Windows での MySQL 5.7.18 のインストールと設定のチュートリアル

この記事では、WindowsでのMySQL 5.7.18のインストールと設定のチュートリアルを参考ま...