2009-02-24 8 views
12

最近、私たちのソフトウェアアナリティックプロバイダ(NETTRACKER)がプラグインを送ってより良い方法で訪問者を獲得できるようにしました。このプラグインはApache 1.xとApache 2.x用です。彼らは言いました。私は引用しています。Apache TomcatはApache Web Serverプラットフォーム上に構築されていますか?

Apache TomcatはApache HTTPサーバー上に構築されているため、プラグインの構成は同じである必要があります。

tomcatのデプロイメントでhttpd.confを検索しましたが、/ confディレクトリにあるserver.xmlと似ている唯一の設定しか見つかりません。

この2つの素晴らしい製品(Apache HTTPサーバーとApache Tomcat)に関するより良い情報があれば、私はその違いを理解することを大変うれしく思っています。

EDIT: 好奇心が強い場合は、Apache Web ServerとTomcatがmod_jkオプションと他のプロキシを使用して連携できることがわかります。しかし、これは私たちの展開にとっては複雑すぎるでしょう。

答えて

15

Apache TomcatとApache HTTPは、全く異なるサーバー技術です。 TomcatでApache HTTPサーバー用のプラグインを使用することはできません。

Apache HTTPサーバーはC言語で開発されており、プラグインも同様です。逆にTomcatはJavaで完全に開発されました。 Tomcatは静的コンテンツを提供するだけでなく、JSPページとサーブレットを提供することもできます。

Tomcatは、Java Webアプリケーションのホスティングに使用されます。静的なコンテンツを確実に配信できます。Tomcatだけを使用してWebアプリケーションをホストできます。安全な接続がサポートされており、パフォーマンスも非常に良好です(HTTPサーバーのパフォーマンスに匹敵します)。

Apacheのプレーンなインストールは、静的コンテンツを提供します。適切なプラグインを使用すると、HTTPリクエストをアプリケーションサーバー(Tomcat、JBoss、Glassfish)またはスクリプト言語インタープリター(PHP)にリダイレクトできます。このようにして、動的コンテンツを生成することができる。 Apacheの大きな利点は、多数のプラグインが利用可能であることです。これにより管理者はWebサイトを任意の方法で設定し、監視することができます。これは最も普及しているサーバーです。徹底的にテストされ、発見された欠陥が非常に迅速に修正されるため、これは最も安全なソリューションになります。

最善の解決策は、ApacheサーバーによってプロキシされたTomcatを使用することです。セットアップがそれほど難しくありません。これを行えなければ、Apacheのプラグインを利用することはできません。

+0

リクエストをTomcatにルーティングするためにHTTPサーバーを使用することについて知っておいて嬉しいです。私は今のところ両方を使用しています。これはちょっとしたトリックになります! – Mike

+0

最良の解決策は、mod_proxyを使用することです。それでは、関連する質問があるはずです。 – kgiannakakis

3

完全に偽である。 ApacheのhttpdプラグインはCで書かれています。Tomcatは純粋なJavaです。

+0

うわー!私は前にそれを知っていなかった – tusar

6

いつもこの混乱があります。多くの人々は、ApacheはWebサーバーで、実際には "The Apache HTTP Server Project"というWebサーバープロジェクトを持つ組織の名前だと考えています。つまり、WebサーバーはHTTPD(デーモンまたはUnixプロセスのようにD)と呼ばれます。

Tomcatは、別のApacheプロジェクトです。このプロジェクトは、JSPページとサーブレットを提供するJavaサーブレットエンジンを実装しています。 TomcatとHTTPDはお互いに関係ありません。ただし、HTTPDとTomcatを連携させるように設定することができます。こうすることで、HTTPDにすべての静的コンテンツを提供したり、URLの書き換えを行うことができ、Tomcat Webサーバーに組み込まれている(またはうまく行かない)はるかに上手いものを作ることができます。 JSPページが要求されるたびに、HTTPDは要求をTomcatに渡します。 Tomcatは要求を処理し、HTTPDに出力を戻し、HTTPDはそれをクライアントに送信します。

Apacheには多くのinteresting projectsがあります。例えば。 Java Enterprise Server(J2EE)であるGeronimoというプロジェクトもあります。たとえば、 TomcatをGeronimoに埋め込み、Geronimoがより魅力的なもの(LDAP、Messagingなど)を扱うJSPやサーブレットのリクエストを処理することを選択します。そしておそらくすでにそれを推測しています.Geronimoの静的コンテンツ・サーバーとしてHTTPDを使用することもできます。

0

TomcatはJavaサーブレットエンジンです。これは、ApacheやIIS、または他の多くの外部のWebサーバーでホスティングすることができます。あなたが現在Tomcatインスタンスをスタンドアロンで実行しているように聞こえます...

Apache/Apacheが動作しているのと同じホストマシン上で、ポート8080からJSP /サーブレットをサービスしてスタンドアロンで処理すると、それらを疎結合させることができます。独立した要求を抱える複数のWebサーバーを持つことはお勧めできません。特に、Apacheと一緒にサーバーベースの認証を使用する場合はお勧めしません。一般的に、あなたはそれを介してすべてを羊飼いする1つの外向きのサーバーを持っています... Apacheはこれを非常にうまく行い、あなたが言及したプラグインはおそらくこのタイプの設定(すべてがApache経由で接続されます)それの簡単な説明。

ApacheでTomcatサーブレットを提供したい場合は、URIクラスをTomcatサーバーインスタンスに転送するようにApacheを設定できます。 mod_rewriteによってこの種の転送を実現することができます。これはパフォーマンス上の方が遅いオプションです。これは、サーバーのすべてにわずかなオーバーヘッドが追加されるためです。同様に、ApacheからTomcatにCGIメカニズムを介して着信要求をプロキシすることもできます。

mod_jkのは、展開を簡素化し、Apacheサーバの設定にTomcatを配置するためのパフォーマンスが向上します。あなたがドキュメントに従うなら設定するのはかなり苦痛なので、あなたの展開には "あまりにも複雑な"という意味がよくわかりません - もしApacheが必要でTomcatを既に持っているのであれば、 mod_jkをダウンロードしてインストールしてください。

+0

この答えは紛らわしいだけです。 –