tomcatのポート8009とはなんですか? http://localhost:8080/xxxxxxxx/ とかでアクセスできるので、tomcatのポートは8080かと思っていましたが、
tomcatのポート8009とはなんですか? http://localhost:8080/xxxxxxxx/ とかでアクセスできるので、tomcatのポートは8080かと思っていましたが、 8009とはどんなことをしているポートなのですか?
ベストアンサー
tomcatはAPサーバという立ち位置なので、ブラウザからの要求を何でもかんでも任せるにはシステムリソースに対するコストが高いので、静的コンテンツは通常のwebサーバにコンテンツを返してもらって、servletやjspなどビジネスロジックに関わる部分だけをtomcatに依頼したい欲求が出てきます。 そんな時はブラウザの要求は一旦webサーバで受けてもらって、特定のURLの場合だけをtomcatに連携するという仕掛けを入れます。 三層アーキテクチャなどで調べてみると良いと思います。 この連携は2つ方式があって、その一つがAJPという専用のプロトコルを用いる方法で、8009番ポートはそのための連携先ポートとして利用します。 もう一つはリクエストをhttpのまま転送させる単純なリバースプロキシのやり方です。 ajpプロトコルはwebサーバが対応していないと使えないため、最近はこちらの方式の方が主流です。 どちらの方式でも負荷分散する機能などがありますので、複数のWebサーバと複数のtomcatを組み合わせて、冗長化してサイトを落とさないようにしたり出来ます。このためtomcatとwebサーバはセットで使うのが以前は常識でしたが、昨今は、そもそもクラウドでサーバレスだったりするので、昔とは常識が変わってきています。 ajpは使う機会も少なくなってきましたので、知識としてwebサーバとの連携で使うものぐらいの認識で良いと思います。(だからローカル環境でwebサーバは使わないならserver.xmlでコネクターの設定をコメントアウトしちゃっても構わない。連携した後の検証が必要な時に設定すれば良い)
質問者からのお礼コメント
なるほど!! 全てを理解できたとは言えませんが、理解すべきものが見えました。 ありがとうございます。
お礼日時:1/19 12:51