Apache Tomcat
作成日:
Java web-server servlet Tomcat
概要
Apache Tomcatは、Java ServletとJavaServer Pages (JSP) を実行するためのオープンソースのWebサーバー/サーブレットコンテナ。Apache Software Foundationが開発・管理している。
主要コンポーネント
Tomcatは3つの主要コンポーネントで構成されている:
| コンポーネント | 役割 | 詳細 |
|---|---|---|
| Catalina | サーブレットコンテナ | Java Servletの実行環境を提供 |
| Coyote | HTTPコネクタ | HTTPリクエスト/レスポンスを処理 |
| Jasper | JSPエンジン | JSPファイルをサーブレットにコンパイル |
┌─────────────────────────────────────────┐
│ Apache Tomcat │
├─────────────────────────────────────────┤
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
│ │ Coyote │→│Catalina │→│ Jasper │ │
│ │ (HTTP) │ │(Servlet)│ │ (JSP) │ │
│ └─────────┘ └─────────┘ └─────────┘ │
└─────────────────────────────────────────┘
処理フロー
- Coyote がHTTPリクエストを受信
- リクエストを Catalina に渡す
- Catalina がサーブレットを実行(JSPの場合は Jasper がコンパイル)
- レスポンスを 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_HOME | Tomcatのインストールディレクトリ |
CATALINA_BASE | 複数インスタンス実行時の各インスタンスのベースディレクトリ |
JAVA_HOME | JDKのインストールディレクトリ |
CATALINA_OPTS | Tomcat専用の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
デフォルトポート
| ポート | 用途 |
|---|---|
| 8080 | HTTPコネクタ(メイン) |
| 8443 | HTTPSコネクタ |
| 8005 | シャットダウンポート |
| 8009 | AJPコネクタ(Apache連携用) |
関連トピック
- Catalina - サーブレットコンテナ
- Coyote - HTTPコネクタ
- Jasper - JSPエンジン
- WARファイルデプロイ - WARデプロイとトラブルシューティング