Jakarta Tomcat:使用するポート(3.2.4を前提に)
技術ドキュメント目次 -> Jakarta Tomcat -> 使用するポート(3.2.4を前提に)本技術ドキュメントは、2002~2004年頃に作成したものが多いです。
内容が古くなっていることもあるかと思いますが、ご了承ください。
【低価格SSL証明書】弊社運営の低価格SSL証明書販売サイト、翌月末払いなど請求書払いも可能。
◆ はじめに
Tomcat(3.2.4であることを前提にします)は、デフォルトの設定で起動すると、
8080 と 8007 の2つのポートで Listenして外部からの接続を受け付けます。
(Tomcat 4系 も 8080 で接続を受け付けますが、それ以外のポートの動作がもう少し複雑です。)
確認するために、
Tomcat の起動中に netstat コマンドを実行すると、次のような出力が得られます。
(netstat コマンドの -p オプション(処理しているプロセスを表示)は、
環境によっては実装されていません。)
# netstat -anp |grep LISTEN |grep java tcp 0 0 0.0.0.0:8007 0.0.0.0:* LISTEN 12476/java tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 12476/java # |
それぞれのポートの役割は次のようになります。
なお、
8080 や 8007 といったポート番号は、server.xmlの設定によって変更することが可能です。
server.xml より、ポート番号の指定箇所を抜粋
<!-- Normal HTTP --> <Connector className="org.apache.tomcat.service.PoolTcpConnector"> <Parameter name="handler" value="org.apache.tomcat.service.http.HttpConnectionHandler"/> <Parameter name="port" value="8080"/> </Connector> <!-- Apache AJP12 support. This is also used to shut down tomcat. --> <Connector className="org.apache.tomcat.service.PoolTcpConnector"> <Parameter name="handler" value="org.apache.tomcat.service.connector.Ajp12ConnectionHandler"/> <Parameter name="port" value="8007"/> </Connector> |
◆ 8080ポート
Tomcatがスタンドアロンの Webサーバとして機能する際、ブラウザからのリクエストを受け付けるために litesnするポートです。
8080ポートでlistenしているTomcatはにアクセスするためには、
http://192.168.1.1:8080/**** といったようにアクセスします。
server.xml の設定をコメントアウトすることで、
8080ポートは使用しないように変更することも可能です。
(その際は、ブラウザからのリクエストはApacheが受け付けること
ができるように、下記のAJP12プロトコルなどを使用してください。)
◆ 8007ポート
次の2つの目的でlistenしています。・デーモンの終了を行うため
Tomcatがデーモンの終了の制御を行うために listenしています。
tomcat.sh stop を実行すると、8007ポートに対して制御用の
データが送られ、Tomcat が終了します。
・AJP12などのプロトコルを使用して、Apacheと連動して稼動するため
mod_jk 等のモジュールをApacheに組み込むことで、
Apache と Tomcat が連動することが可能になります。
その際は、次のようにしてリクエストが処理されます。
+--------+ 1---> +--------+ 2---> +--------+
| Client | | Apache | | Tomcat |
+--------+ <---4 +--------+ <---3 +--------+
(Apache は 80番で Listenして、Tomcat は 8007番で
Listenしています。)
1. クライアントからのリクエストを Apacheが受け取る
2. ApacheがTomcatに処理を依頼する(※)、
3. Tomcatがレスポンスデータを作成しApacheにそれを返す
4. Apacheがクライアントにレスポンスを返す。
上記のような処理を行うためのプロトコルの1つが AJP12です。
(Tomcatのバージョンなどによって、同じようなことを異なる
プロトコルで行います。詳しくはお使いのバージョンのTomcat
のドキュメントをご参照ください。)
(※)
特定のディレクトリへのアクセスのみ、Tomcatが処理を行い、
それ以外へのアクセスは Apacheが処理を行う、と指定する
ことが可能です。
また、
TomcatはApacheほど強固ではないので、静的なコンテンツを
扱うにはやはり Apache が処理したほうが好ましいです。
■ Jakarta Tomcat についての他のドキュメント
- インストール(3.2.4)
- インストール(4.0.4)
- Apache と Proxyで連動(4系)
- バージョンごとのサポートAPI
- 使用するポート(3.2.4を前提に)
■ 他のグループのドキュメント
Apache / Linux / FreeBSD / OpenSSL / Perl / HTTPプロトコル / Jakarta Tomcat / Java / NetBSD / Oracle / PostgreSQL / UNIX の C言語 / UNIX のコマンド / Windows / bind / システム運用TIPS