• 締切済み

WebサーバとApplicationサーバの連携とは?

Windows環境でApache2.0とTomcat5.5を連携させようとして失敗したため、理解できていない状況にあるのですが、そもそも「連携された状態とはどんな状態なのか」について、イメージできずにいます。 書物などによると、「ApacheとTomcatをmod_jkというモジュールを使って結びつけておくと、Webへアクセスした時にTomcatの画面に誘導できる」ようになるということなのかなと思える解説になっていますが、実際に動作実験できていない段階なのでまだまだ次のような疑問が残っています。 どなたか教えて頂けないでしょうか。 1.Apache(Webサーバ)に設定したDocumentRootにはindex.html等は置かず、カラの状態にしておいて、全てTomcat側にjspファイルを置くなどにより処理するのでしょうか。 その場合、ApacheのWebサーバとしての機能はどのように活かされることになるのでしょうか。 2.「Apache(Webサーバ)に設定したDocumentRootにindex.htmlを置き、その画面をからクリック内容に応じてTomcat(Applicationサーバ)に処理を移したり、 また戻したりする」ということは可能でしょうか。そのための設定方法の概要を教えてもらえませんでしょうか。 3.通常の商用システムの場合は、ApacheやTomcatの代わりにどのようなツールを使っているのか、例として教えて頂けないでしょうか。 (Linuxベースだと有難いですが、特に限定しなくても結構です。)

みんなの回答

  • process9
  • ベストアンサー率29% (81/271)
回答No.2

リクエストがあったので再度。。。 1.に関してはその通りです。ユーザからのリクエストに関するやり取り部分はApache担当なので。 2.関しては、置いても置かなくてもOKです。 置かなければユーザがアクセスできないだけ。 3.下のサイトなんかどう? http://ryouto.jp/linux/linux_55.html http://www06.ibm.com/jp/software/data/developer/library/techdoc/tomcat.html http://www.ingrid.org/jajakarta/tomcat/tomcat-3.2.1/doc-ja/mod_jk-howto.html

jukebox
質問者

お礼

ご指導ありがとうございます。 結局「下位フォルダーやファイルを指定せずに、 省略型urlでリクエストされた場合のためには必要かも」ということのようですね。 そういえば、巷の指導書のアクセス実例では、 http://.../jsp-example/ などと具体的なApplicationを指定して、直かにアクセスしていますね。 「連携」とは、port80からのアクセス(リクエスト)でありながら、port8080のTomcat配下のApplicationに誘導することのほか、さらに、index.htmlに色々書いておけば、Apache側のhtmlからも同様にTomcat配下のApplicationに誘導できる。ということなのですね。 何やらおぼろげに理解できて来たように思います。 あとは、教えていただいたサイトを参考に実際に稼動実験してみます。(なお、2番目のIBMのサイトにはアクセスできませんでした。) 上記の理解に誤りがあればご指摘下さい。 いずれにせよ、2度に亘っておつきあい下さり感謝いたします。

  • process9
  • ベストアンサー率29% (81/271)
回答No.1

process9です。 1.連携に関しては以下のようなイメージです。 ユーザ→→→Apache(WebServer)→→→ディレクトリ(html)          |           | (htmlを作ってね!ってApacheがTomcatに依頼。これが連携。但し、指定ディレクトリ以下がリクエストされたとき)          |---------Tomcat(jspやServlet。Tomcatは配備されたjspやServletからhtmlを作成してApacheに渡す) >1.Apache(Webサーバ)に設定したDocumentRootにはindex.html等は置かず、カラの状態にしておいて、全てTomcat側にjspファイルを置くなどにより処理するのでしょうか。 その場合、ApacheのWebサーバとしての機能はどのように活かされることになるのでしょうか 回答:誤解を恐れずに超簡単に説明すれば、 Apacheは、ユーザ(ブラウザ)からのリクエストを受けて DocumentRoot以下を探して返すんですが、httpd.confに指定されている ディレクトリ以下は、Tomcatにhtmlの作成を依頼して作ってもらう (外注さんのイメージ。Apacheは元請かな) なので、Tomcatもそうですけど、Apacheなしでもユーザと やりとりできます。(下請けだけしかできなわけではありません) 2.「Apache(Webサーバ)に設定したDocumentRootにindex.htmlを置き、その画面をからクリック内容に応じてTomcat(Applicationサーバ)に処理を移したり、また戻したりする」ということは可能でしょうか。そのための設定方法の概要を教えてもらえませんでしょうか。 回答:可能です。1.の回答を理解してもらえれば自明なのですが、 Apacheは、元請なのです。ユーザからのリクエストで下請(Tomcat) に回すものはhttpd.confで決めているのでそれ以外は、自身で処理します。 設定方法は・・・、Apache,tomcat連携,設定ファイル でGoogleなど で検索すればたくさん出てくるので探してみてください。 3.要は、ブラウザ(顧客)、Webサーバ(元請)、Applicationサーバ(元請)の関係だけなので、それぞれ差し替え可能です。 商用でLinuxって数はかなり少ないですね・・・。ないわけではないですが。。 限定なしなら・・・ 例:ブラウザ・・・説明不要でしょう。いろんな製品・フリーありますね。   Webサーバ・・IIS,Apache   Applicationサーバ・・Tomcat              OracleApplicationServer              Weblogic あたりが有名かな。 あとITで有名各社(NEC,富士通,日立,IBMなどは) それぞれ独自のWebServerやApplicationサーバーを持ってます。

jukebox
質問者

補足

早速の回答まことにありがとうございます。 基礎がわかっていないもので、補足質問させて下さい。 1.ApacheはTomcatに丸投げで下請けに出した場合でも、Apacheの「同時処理数を調整できる機能」や「SSL通信を行う機能」を使えるという分割・連携のメリットがある。(TomcatのWebサーバ機能を使う場合と比べて) と理解してよいでしょうか。 2.丸投げの場合でも、Apache(Webサーバ)に設定したDocumentRootにはindex.htmlは置くのでしょうか。置いても置かなくても同じなのでしょうか。 3.丸投げでなく部分投げの場合の設定方法について、特にApache2.0とTomcat5.5に重点を置いたからか、私の検索能力では探し切れていません。具体的サイトの例をお教え頂けないでしょうか。

関連するQ&A