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

推薦する

SSH経由でリモートLinuxシステムでコマンドを実行する方法

場合によっては、リモート マシンでいくつかのコマンドを実行する必要があることがあります。これが時々行...

モバイル署名機能を実装するJavaScript

この記事では、モバイル署名機能を実装するためのJavaScriptの具体的なコードを参考までに共有し...

VMWare14.0.0のUbuntu仮想マシンで共有フォルダを設定する

これは私の最初のブログ投稿です。時間の制約があるため、どのようにフォーマットすればよいかわかりません...

Docker で Node.js をデプロイする方法

序文プロジェクトでは中間層としてNodeを使用し、Nodeのデプロイにはdockerを使用します。こ...

高度なクローラー - JS 自動レンダリングのための Scrapy_splash コンポーネントの使用

目次1. scrapy_splash とは何ですか? 2. scrapy_splashの役割3. s...

今日、今週、今月、先月のMySQLクエリデータ

今日 テーブル名から * を選択します。ここで、to_days(時間フィールド名) = to_day...

Vue 天気予報入門

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

Zabbixで監視する必要があるホストを追加するための詳細な手順

監視ホストの追加ホスト 192.168.179.104 が zabbix 監視項目に追加されます (...

CSSでイメージマッピングを実装する方法

1. はじめにイメージマップを使用すると、画像の領域をホットスポットとして指定できます。この領域にマ...

MySQL ユーザー変数と set ステートメントの例の詳細な説明

目次1 ユーザー変数の概要2 ユーザー変数の定義3 ユーザー変数の使用3.1 セットを通した例3.2...

Linux環境にMySQLデータベースをインストールする詳細なチュートリアル

1. データベースをインストールする1) yum -y install mysql-server (...

kindとDockerを使用してローカルKubernetes環境を起動する

導入Kubernetes を使い始めるのに丸一日を費やしたことはありませんか?最近登場したいくつかの...

Linux システムで HugePages をすばやく構成するための完全な手順

序文Linux システムの HugePages と Oracle データベースの最適化については、関...

ウェブデザインとは何か

<br />元の記事: http://www.alistapart.com/articl...