ApacheとTomcatが連携

5458 ワード

Apache一般構成
まず、Apacheを簡単に構成する方法を見てみましょう.
プロファイルは/etc/apache 2ディレクトリ(デフォルト)にあり、プロファイルはapache 2である.confファイル.
Windowsの中はhttpです.conf.
傍受ポートプロファイルはport.conf
TomcatとApacheのコラボレーション
1、Tomcatの3種類の運転モード
Tomcatは現在、3つのモードの実行をサポートしています.
  • 独立サーブレットコンテナ:
  • プロセス内サーブレットコンテナ:
  • プロセス外サーブレットコンテナ:
  • つまり、Tomcatは、Apache、IIS、または他のサポートされているウェブサーバなどの既存のウェブサーバの追加のコンテナとして単独で実行できることを意味します.2または3を選択すると、Webサーバのアダプタ(Web server adapter)をインストールする必要があります.
    2、協同
    以上から,Tomcatを単独で静的および動的ドキュメントのサーバとして利用できることが分かるが,このような欠点は以下の通りである.
  • Tomcatは静的コンテンツサーバとしてはApacheよりはるかに速くない.
  • TomcatはApache配置より難しい
  • Tomcat Apacheなし安定
  • Tomcatでは、phpサポートなどの現在の主流の機能はサポートされていません.

  • そのため、通常、本番環境では、Apacheなどの堅牢なWebサーバを静的コンテンツサーバとして使用し、Tomcatをサーブレット/JSPフックサポートコンポーネントとして使用します.
    2.1動作原理
    要約すると、Webサーバは常にリクエストを傍受または待機しています.あるリクエストが到着すると、サーバはリクエストの必要に応じて処理を完了し、必要なコンテンツを提供する.
    TomcatをWebサーバに追加すると、全体的なプロセスは次のように変更されます.
  • サーバを起動したばかりの場合、Apacheはwebサーバアダプタライブラリをロードして初期化する必要があります(これによりTomcatはApacheとコミュニケーションできます).
  • 要求が到着した場合、Apacheはその要求がservletに属しているかどうかを確認する必要があり、もしそうであれば、要求をアダプタに渡して処理する.

  • 画像やhtmlドキュメントなどの静的コンテンツを処理するためにApacheを使用し、すべての動的コンテンツの要求をTomcat処理に渡したい.つまり、私たちが今解決しなければならないのは次の3つの問題です.
  • Apacheはどのように要求タイプを区別しますか?
  • Apacheはどのように対応する要求をTomcatに転送しますか?
  • Tomcatはこれらのリクエストをどのように受信しますか?

  • 次はこれらの問題を一つ一つ解決します.
    2.2実現方式
    上記の3つの問題に対応する解決方法は、次のとおりです.
  • Apacheのhttpdを配置する.confプロファイル;
  • Webサーバアダプタをインストールします.
  • Tomcatのserverを修正する.xmlプロファイル.

  • 構成の問題については、詳しくはhttps://tomcat.apache.org/tomcat-3.2-doc/uguide/tomcat_ug.html
    http://www.apache.org/docs/
    3、実例(仮定のwebアプリケーション)
    すべてhttp://localhost/のJSP/サーブレットリクエストは、rootExampleコンテキスト(rootExampleアプリケーション)に送信されます.
    すべてhttp://localhost/rootExample/のJSP/サーブレットリクエストはすべてslifkaExampleアプリケーションに送信されます.
    (仮想ホストを使用する場合は、vの先頭に送信される対応する名前アプリケーションです.)
    またアプリケーションのweb.xmlファイルは、サーブレットのロード情報を構成します.これらが構成されているからこそ、対応するサーブレットが要求されたときに正しく応答することができる.この例ではweb.xmlには次の内容があります.
    
        SlifkaWorld
        foo.bar.baz.SomeClass
        
            someParameter
            A value
        
     
    

    このサーブレットにアクセスするには、次のURLを使用します.http://localhost/servlet/SimpleServlet(servlet-mappingで構成されています).
    4、Tomcatの配置
    まずTomcatを個別に構成し、その構成はwebサーバの構成に影響を与えません.ここで、Tomcatはすでに動作を開始しており、独立したモードで正常に動作していると仮定します.
    4.1コンテキストの設定
    まずTomcatのserver.xmlでの構成例のコンテキスト:(構成の役割?)
      
    
    
    

    この2つのコンテキストは、ラベル内に配置する必要がある.1つ目は、アプリケーションに直接アクセスする場合にアプリケーションにアクセスし、2つ目はリクエストで指定された場合にアクセスすることを示します.
    HOSTタグの詳細については、以下を参照してください.https://tomcat.apache.org/tomcat-3.2-doc/uguide/tomcat_ug.html
    4.2仕事ができるかどうかを見る
    現在の場所では、すべてのリクエストを受信し、すべてのアプリケーションを処理する作業可能なTomcatを持っています.
    4.3 AJPコネクタ(AJPコネクタ)
    Tomcatの構成を終了する前に、Tomcatの概念、すなわちserverを見なければならない.xmlのAJP要素に対応する内容.これがTomcatとApacheのコミュニケーションで使用されるメカニズムです.
    
    
        
        
    
    

    中にはポートが配置されています.△何に使いますか.
    Webサーバアダプタを話さない前に、Tomcat側はこれらの内容を理解する必要があります.
    5、Webサーバアダプタ(web Server Adapter)
    ApacheとTomcatを連携させる次の作業は、Webサーバアダプタをインストールすることです.
    web SAは、TomcatとApacheの間でデータを転送します.その構成はApacheにもTomcatにも属していないが、両者が協力する必要がある.
    5.1利用可能な2種類のweb SA
    現在、jkとJservの2つの利用可能なweb SAがあります.それぞれmod_に対応jkとmod_jserv.
    以下はmod_からjk HOWTOが抜粋した:https://tomcat.apache.org/tomcat-3.2-doc/mod_jk-howto.html
    mod_jkはmod_jservの後継者.新しいTomcat-Apacheプラグインで、Tomcatに情報を伝えることができます.次に、両方を選択して使用する際に考慮すべき問題を示します.
  • mod_Jserv仕様がサポートされているため、jservは非常に複雑です.
  • mod_jservはApacheのみをサポートし、mod_jkにはこれらの欠点は存在しない.
  • mod_jkライブラリの階層構造は、複数のApacheバージョン1,2をサポートすることができます.
  • mod_jservはAJP 1のみをサポートする.2;
  • mod_jkサポート:
  • AJP1.3:ApacheとTomcat間のTCP接続を再利用することができ、速度がもっと速い
  • JNI:Apache 2のようなマルチスレッドをサポートするサーバがある場合.0ならもっと速く...


  • 5.2どこから入手するか
    Tomcatバイナリリリースパッケージには、これらのファイルが付属しています.Linuxの場合はmod_jserv.soとmod_jk.so,winはApacheModuleJserv.dllとmod_jk.dll.
    Unixでは、手動でコンパイルする必要があります.
    5.3コンパイル方法(略)
    6、Apacheの配置
    Apacheの構成は、問題1に戻ります.apacheにリクエストを区別する方法です.
    Apacheがどのようにweb SAをロードして初期化するか、どのように特定の要求をweb SAに渡してweb SAをTomcatに転送するかを通知する必要があります.
    リクエストの識別は、プロファイルによって行われます.
    ただし、この構成は、Tomcatサーバが起動するたびにコンテキスト(server.xmlまたは$TOMCAT_HOME/webappsから適用)がロードされると、自動的にいくつかのカラムのファイルが生成されるため、複雑ではありません.次の2つがあります.
  • tomcat-apache.conf(mod_jserv.conf-autoと命名したほうが良いと言える)
  • mod_jk.conf-auto

  • どちらのファイルもApacheのhttpdです.confファイルの補完には、Apache(Tomcat)が静的(動的)コンテンツのニーズを満たすために必要な命令が含まれています.ほとんどのユーザーにとって、使用するweb SAに基づいて直接両者の1つをhttpdに含めるだけです.confでいいです.たとえばmod_を使用するjk、Apacheプロファイルに追加するだけ:
    include /tomcat/conf/mod_jk.conf-auto
    

    もちろんtomcatのインストールディレクトリに基づいて設定します.
    mod_jkファイルの詳細は、次のとおりです.https://tomcat.apache.org/tomcat-3.2-doc/mod_jk-howto.html
    tomcat-apache.conf