• ベストアンサー

ApacheとTomcat

最近サーブレットの勉強を始めた。 webサーバにTomcatを使う、 またはTomcatとApacheを連携させて使う例しか見当たらなかったのですが、 サーバマシンにJ2EEを置き、Apache単体で動作させるということはできないのでしょうか? また、調べていくうちにTomcatはApacheと同じプロジェクト(?)というか、 同じところが開発しているように感じました。 単純にTomcatは「ApacheにJavaによるサーバサイドのプログラムが動くようにしたもの」 というわけではないみたいですが、どうなのでしょう? Apacheを改造してサーブレットを動くようにすればよかったのでは?と思うのですが、 そのへんの歴史的背景というか、 それぞれのできあがった背景みたいなものを簡単にでも解説頂けると幸いです。

  • Java
  • 回答数2
  • ありがとう数2

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

http://ja.wikipedia.org/wiki/Apache_Tomcat 現時点では、正式名称が以下のようになっているらしいですね。 Apacheソフトウェア財団(ASF)のトップレベルプロジェクト ・Apache HTTP Server → Webサーバ ・Apache Tomcat → サーブレットコンテナ これ以外では、EJBも扱える商用向けの「J2EEコンテナ」として、BEA WebLogic Application ServerやWebSphere Application Serverなどがあったと思います。 >サーバマシンにJ2EEを置き、Apache単体で動作させるということはできないのでしょうか? 可能です。というよりJ2EEにおいては、「負荷分散」という観点からそのような事が出来るようになっています。ちなみに、PHPではApache HTTP Serverのあるマシン内でZendエンジンが動作するという構成になっており、このような事からも「大規模向け」とか「中小規模向け」といったような住み分けがなされています。 以下のサイト内の3つの図も参考にしてください。 TOP>比較データ> はじめに 「Javaアプリケーションサーバのクラスタリング機能比較」 第7回:Javaアプリケーションサーバのパフォーマンス比較 http://www.thinkit.co.jp/free/compare/14/7/1.html >Apacheを改造してサーブレットを動くようにすればよかったのでは?と思うのですが、 これも詳細については、以下のサイトを参考にしてください。元々は、Apache Software Foundation(ASF)もSunも別々にサーブレットエンジンを開発していたのですが、両者が協力してJakarta Projectが誕生し、その後にサブプロジェクトから昇格して、現在のトップレベルプロジェクトになっているということです。 (もし仮に、当時のSunが歩み寄らなかったとしても、やはり負荷分散という観点から「スーパーApache」みたいなサーバソフトは誕生しなかったでしょう。あくまで、推測です。) TOP>サーバ構築・運用> Tomcatの特徴 「いまさら聞けないTomcat~JSPサーバ構築のキソ」 第2回:Tomcatって何ができるのですか? http://www.thinkit.co.jp/cert/article/0708/2/2/2.htm

OKbokuzyo
質問者

お礼

回答をいただいておきながら、返事が遅くなり大変申し訳ありません。 非常に詳しい解説を本当にありがとうございます。 最近忙しく、参考用に紹介いただいたサイトもまだほとんど見れていませんが、 次の土日にはゆっくり読んでみようと思います。 ありがとうございました。

その他の回答 (1)

  • akinaga
  • ベストアンサー率60% (14/23)
回答No.1

私の認識では.. Tomcatはアプリケーションサーバ ApacheはWebサーバ アプリケーションサーバはユーザから受け取ったリクエストをJavaなどで動的に処理を行い、その動的なページを返すもの WebサーバはHTMLなど静的なページを返すもの J2EEはWeb系の処理に特化させたJavaのAPI J2SEはローカルでアプリケーションを動かすために必要なAPI J2MEは携帯電話などで最低限必要なAPI Tomcat→Javaで動的な処理を行う。 Apache→HTMLなど静的なページを返す。 重複している機能はもちろんありますが、 ApacheとTomcatを組み合わせるということは 長所をそれぞれ使っているということです。 TomcatのWebサーバ機能が少ないという短所をApacheが補っています。

OKbokuzyo
質問者

お礼

!! なるほど、アプリケーションサーバという位置づけですか。 アプリケーションサーバという言葉くらいは聞いたことがありますが、 具体的にどうこうというのはそういえば知りませんでした。 ありがとうございます。 切り分けとしてはなんだかとてもすっきりした気がします。

関連するQ&A

  • apacheとtomcatについて

    お世話になっております。 現在趣味でapacheとtomcatを連携させて webアプリ的なものを作成しています。 そこで疑問に思ったことなのですが、 apacheとtomcatを連携させるのは、 ポート80からもサーバサイドJavaが使えるようになる、という 利点があるからだという風に解釈しています。 ただ、web上の様々なサイトを見るところ、 クライアントサイドはapache上で動かし、 サーバサイドはtomcat上で動かすという様な分別の仕方をしている ような記述が多く見られます。 私はクライアントサイドもサーバサイドも 全てtomcat上に配置して動かしているのですが、 クライアントサイドをapache上で動かすのはどのような利点があるのでしょうか。 よろしくお願いいたします。

  • [apache+tomcat]なぜ!?実行したらトムキャットが落ちる!?

    こんにちわ♪ アパッチとトムキャットを使ってJavaシステムを構築しています。 昨日まで順調に動いていたユーザ認証のプログラムが、本日リカバリーして 実行しますと、サーブレットの処理がうまくいかず、トムキャットは閉じ、 IEには「Internal Server Error」と表示されてしまいます。 アパッチはSTOPにはなっていないようです。 このような現象はどういうときに発生しますか? アパッチとトムキャットの連携設定にミスがあるのでしょうか??

    • ベストアンサー
    • Java
  • ApacheとTomcatの連携

    Windows200でApacheとTomcatを連携させて動かしたいのですがうまくいきません。 Apacheを起動させただけだと、サンプルページのhttp://localhost/examples/jsp/は見えるのですが、その下の各サンプルを見ようとするとInternal Server Errorになってしまいます。 ちなみにApache、Tomcatを別々に起動させるとうまくいきます。 バージョンは以下のとおりです。 Apache1.3.26 tomvat3.2.4 どうやら連携のサービスがApache起動のときに開始されていないみたいなんですが、どこらへんを見直したらいいのかわかりません。 よろしくお願いします。

    • ベストアンサー
    • Java
  • Apache Tomcat の別サーバでの連携

    はじめまして。 griffin99と申します。 Apache Tomcatとの連携方法で困っていますので、 どなたか教えてください。 やりたい事は、ApacheとTomcatをそれぞれ別サーバマシンにインストールして、 連携を取る方法です。 単一のマシンに、ApacheとTomcatをインストールして連携する方法は、 多くのホームページで解説されているのですが、 2台のマシンを使って連携を取る方法がなかなか見つかりません。 mod_jk.dllを利用すればできそうだという所までは なんとか分かってきたのですが、、、 具体的な設定方法や、それを解説したあるホームページがありましたら、 ぜひ教えてください。 よろしくお願いします。 ちなみに環境は、 OS:Windows2000 Apache:Ver1.3.26 Tomcat:Ver3.2.3 です。

  • ApacheとTomcatを両方使いたい

    WindowsにApacheとTomcatをインストールして、テトリスのゲームができるサーバーを構築したいのです。 Javaについて知識がないので実際にサーバーを構築した人にお聞きしたいのですが、今Apacheはインストールして、外部からホームページは見れる状態にあります。 この状態から、JDK(SE?EE)をインストールして、Tomcat6をインストールしようとしていますが、Apacheはポート80(例えば http://test.comで直接) 見れますが、Tomcatのページ.jspはhttp://test.com:8080としないと見れないのでしょうか? 後、テトリスのようにページ内で動かすには.jspで可能なのでしょうか? Java全体の知識が足りなく、質問の内容もおかしいところがありますが 教えていただけましたらうれしいです。

  • tomcatにapacheを連携させるのは何のため?

    以前、仕事でローカル開発環境としてtomcatを使用していました。 今家でtomcatを動かしてみよう、とwebでマニュアルを探したら、たいていtomcat+apacheで説明されています。 tomcatもwebサーバーの機能があるのに、わざわざapacheやIISとわざわざ連携させるのは何のためですか? また、IISだけでもwebサーバー+アプリケーションサーバーとして機能するのに、tomcatと連携させるのは何のためでしょう。 よろしくお願いします。

    • ベストアンサー
    • Java
  • ApacheとTomcat ポート80番について

    現在、VPSでマルチドメインで以下の2つサイトを運用しています。 1. PHPによるWordPressサイト 2. Javaによる動的サイト(静的HTML無し) Apache HTTP Server(ポート80)のバーチャルドメインを使用し、2のJavaサイトの場合はAJPでTomcat(ポート8009)へ処理を振り分けています。一般的な連携方法でと思います。 サーバーOSはCentOS5.5、IPアドレスはひとつ、ウェブサーバーにはApache HTTP Server, サーブレットコンテナとしてApache Tomcatを使用しています。root権限保持しています。 質問させていただきたいことは、Apache HTTP ServerおよびApache Tomcatを同時に起動させながらポート80番を1のサイトの場合はApache HTTPが使用、2のサイトの場合はApache Tomcatが使用できるようにする方法はご存知ないでしょうか?ということです。 現在はTomcat単独で運用する場合よりもApache HTTPを経由させるためにJavaのサイトが若干反応が遅く感じます。そもそも静的コンテンツはありませんし、URLの書き換えなども別の手段を用いているため、Apache HTTP Serverを経由する意味はどちらのサイトともブラウザでポート80番へアクセスできるようにする以外ありません。 何かよい方法ご存知ないでしょうか?なお、IPアドレスはひとつ増やしても構いません。

  • tomcatとapacheを何で一緒に使いますか?

    お疲れ様です。 tomcatとapacheを何で一緒に使いますか? tomcatはjavaのjsp エンジン、apacheはphpのエンジンですね。 web サーバーとしてxampp 1.6.3a (apache+tomcat) と言う サーバーを使う事がありますが、なんでapacheとtomcatを 一緒に使いますか。javaとphpを同時に使えますか。 何をするつもりでしょうか。何でそうしますか。 お答え宜しくお願いいたします。

    • ベストアンサー
    • Java
  • Apache、Tomcatの連携するか否かについて

    ・アプリケーション配布にはJava Web Start を使用 ・クライアントはブラウザではなくSwingを使用 ・サーバーとの通信にはHttpを使用 ・ログイン時にSSLを使用 のように使用するアプリケーションサーバーで、 (1)Tomcat単体 (2)TomcatとApacheを連携 するのではどちらが望ましいでしょうか? TomcatでもSSLが使えるようで悩んでおります。 Tomcat単体のメリット、デメリットが知りたいです。 よろしくお願いします。

    • ベストアンサー
    • Java
  • Tomcat と Apache の連携に関して♪

    こんにちわ。 技術評論社の「サーブレット&JSP」という本をベースにTomcatとApacheの連携を行っています。 それぞれ、新しいバージョンがリリースされているので新しいバージョンのTomcat(4.1)とApeche(2.0.45)での連携を試行錯誤しながら挑戦していますが、全然うまくできません。 確認は、連携処理後 http://localhost/examples/jsp/ で確認しています。 もちろん、http://localhost:8080/exampes/jsp/ では正常に表示されます。 これら新バージョン同士で連携させる方法を是非とも教えてください。 宜しくお願いいたします。

    • ベストアンサー
    • Java

専門家に質問してみよう