Apache Tomcat

作成日:
Java web-server servlet Tomcat

概要

Apache Tomcatは、Java ServletとJavaServer Pages (JSP) を実行するためのオープンソースのWebサーバー/サーブレットコンテナ。Apache Software Foundationが開発・管理している。

主要コンポーネント

Tomcatは3つの主要コンポーネントで構成されている:

コンポーネント役割詳細
CatalinaサーブレットコンテナJava Servletの実行環境を提供
CoyoteHTTPコネクタHTTPリクエスト/レスポンスを処理
JasperJSPエンジンJSPファイルをサーブレットにコンパイル
┌─────────────────────────────────────────┐
│              Apache Tomcat              │
├─────────────────────────────────────────┤
│  ┌─────────┐  ┌─────────┐  ┌─────────┐  │
│  │ Coyote  │→│Catalina │→│ Jasper  │  │
│  │ (HTTP)  │  │(Servlet)│  │  (JSP)  │  │
│  └─────────┘  └─────────┘  └─────────┘  │
└─────────────────────────────────────────┘

処理フロー

  1. Coyote がHTTPリクエストを受信
  2. リクエストを Catalina に渡す
  3. Catalina がサーブレットを実行(JSPの場合は Jasper がコンパイル)
  4. レスポンスを Coyote 経由でクライアントに返す

主要なディレクトリ構成

$CATALINA_HOME/
├── bin/            # 起動・停止スクリプト
│   ├── catalina.sh
│   ├── startup.sh
│   └── shutdown.sh
├── conf/           # 設定ファイル
│   ├── server.xml
│   ├── web.xml
│   └── catalina.properties
├── lib/            # ライブラリ(JAR)
├── logs/           # ログファイル
│   └── catalina.out
├── webapps/        # Webアプリケーション
├── work/           # コンパイル済みJSP
└── temp/           # 一時ファイル

環境変数

変数名説明
CATALINA_HOMETomcatのインストールディレクトリ
CATALINA_BASE複数インスタンス実行時の各インスタンスのベースディレクトリ
JAVA_HOMEJDKのインストールディレクトリ
CATALINA_OPTSTomcat専用のJVMオプション
JAVA_OPTSすべてのJavaプロセスに適用されるJVMオプション

基本的なコマンド

起動・停止

# 起動
$CATALINA_HOME/bin/startup.sh

# 停止
$CATALINA_HOME/bin/shutdown.sh

# または catalina.sh を直接使用
$CATALINA_HOME/bin/catalina.sh start
$CATALINA_HOME/bin/catalina.sh stop

# フォアグラウンドで起動(デバッグ時に便利)
$CATALINA_HOME/bin/catalina.sh run

バージョン確認

$CATALINA_HOME/bin/catalina.sh version

デフォルトポート

ポート用途
8080HTTPコネクタ(メイン)
8443HTTPSコネクタ
8005シャットダウンポート
8009AJPコネクタ(Apache連携用)

関連トピック

参考リンク