はじめに

目次

はじめに

管理者とウェブ開発者の両方にとって、作業を開始する前に、いくつかの重要な情報を理解しておく必要があります。このドキュメントは、Tomcatコンテナの背後にあるいくつかの概念と用語の簡単な紹介として役立ちます。また、ヘルプが必要な場合にどこに行けばよいかについても説明します。

用語

これらのドキュメントを読む過程で、多くの用語に出くわすでしょう。一部は Tomcat に固有のものであり、一部はServlet および JSP 仕様で定義されています。

  • Context - 一言で言えば、Context は Web アプリケーションです。

以上です。このセクションに追加する必要がある用語が見つかった場合は、お知らせください。

ディレクトリとファイル

これらは、Tomcat の主要なディレクトリの一部です。

  • /bin - 起動、シャットダウン、およびその他のスクリプト。*.sh ファイル (Unix システム用) は、*.bat ファイル (Windows システム用) と機能的に重複しています。Win32 コマンドラインには特定の機能が欠けているため、ここにはいくつかの追加ファイルがあります。
  • /conf - 構成ファイルと関連する DTD。ここにある最も重要なファイルは server.xml です。これはコンテナのメイン構成ファイルです。
  • /logs - ログファイルはデフォルトでここにあります。
  • /webapps - ここに Web アプリケーションを配置します。

CATALINA_HOME と CATALINA_BASE

ドキュメント全体で、次の 2 つのプロパティへの参照があります。

  • CATALINA_HOME: Tomcat インストールのルートを表します。たとえば、/home/tomcat/apache-tomcat-11.0.0C:\Program Files\apache-tomcat-11.0.0 などです。
  • CATALINA_BASE: 特定の Tomcat インスタンスのランタイム構成のルートを表します。1 台のマシンに複数の Tomcat インスタンスを配置する場合は、CATALINA_BASE プロパティを使用します。

プロパティを異なる場所に設定すると、CATALINA_HOME の場所には、.jar ファイルやバイナリファイルなどの静的なソースが含まれます。 CATALINA_BASE の場所には、構成ファイル、ログファイル、デプロイされたアプリケーション、およびその他のランタイム要件が含まれます。

CATALINA_BASE を使用する理由

デフォルトでは、CATALINA_HOME と CATALINA_BASE は同じディレクトリを指します。1 台のマシンで複数の Tomcat インスタンスを実行する必要がある場合は、CATALINA_BASE を手動で設定します。これにより、次の利点が得られます。

  • 新しいバージョンの Tomcat へのアップグレードの管理が容易になります。単一の CATALINA_HOME の場所を持つすべてのインスタンスは、1 セットの .jar ファイルとバイナリファイルを共有するため、ファイルを新しいバージョンに簡単にアップグレードし、同じ CATALIA_HOME ディレクトリを使用するすべての Tomcat インスタンスに変更を伝播できます。
  • 同じ静的な .jar ファイルの重複を回避します。
  • オペレーティングシステムに応じて、setenv シェルまたはバッチスクリプトファイルなど、特定の構成を共有できる可能性があります。

CATALINA_BASE の内容

CATALINA_BASE の使用を開始する前に、まず、CATALINA_BASE で使用されるディレクトリツリーを検討して作成します。推奨されるすべてのディレクトリを作成しない場合、Tomcat はディレクトリを自動的に作成することに注意してください。必要なディレクトリを作成できない場合 (たとえば、権限の問題が原因)、Tomcat は起動に失敗するか、正しく機能しない可能性があります。

次のディレクトリのリストを検討してください。

  • setenv.shsetenv.bat、および tomcat-juli.jar ファイルを含む bin ディレクトリ。

    推奨: いいえ。

    ルックアップの順序: CATALINA_BASE が最初にチェックされます。フォールバックは CATALINA_HOME に提供されます。

  • クラスパスに追加される追加のリソースを含む lib ディレクトリ。

    推奨: はい。アプリケーションが外部ライブラリに依存している場合。

    ルックアップの順序: CATALINA_BASE が最初にチェックされます。 CATALINA_HOME が 2 番目にロードされます。

  • インスタンス固有のログファイル用の logs ディレクトリ。

    推奨: はい。

  • 自動的にロードされる Web アプリケーション用の webapps ディレクトリ。

    推奨: はい。アプリケーションをデプロイする場合。

    ルックアップの順序: CATALINA_BASE のみ。

  • デプロイされた Web アプリケーションの一時的な作業ディレクトリを含む work ディレクトリ。

    推奨: はい。

  • 一時ファイルのために JVM によって使用される temp ディレクトリ。

    推奨: はい。

tomcat-juli.jar ファイルを変更しないことをお勧めします。ただし、独自のロギング実装が必要な場合は、特定の Tomcat インスタンスの CATALINA_BASE の場所にある tomcat-juli.jar ファイルを置き換えることができます。

CATALINA_HOME/conf ディレクトリからすべての構成ファイルを CATALINA_BASE/conf/ ディレクトリにコピーすることもお勧めします。構成ファイルが CATALINA_BASE にない場合、CATALINA_HOME へのフォールバックはありません。その結果、エラーが発生する可能性があります。

少なくとも、CATALINA_BASE には以下が含まれている必要があります。

  • conf/server.xml
  • conf/web.xml
それには conf ディレクトリが含まれます。そうでない場合、Tomcat は起動に失敗するか、正しく機能しません。

詳細な構成情報については、 RUNNING.txt ファイルを参照してください。

CATALINA_BASE の使用方法

CATALINA_BASE プロパティは環境変数です。Tomcat 起動スクリプトを実行する前に設定できます。たとえば

  • Unix の場合: CATALINA_BASE=/tmp/tomcat_base1 bin/catalina.sh start
  • Windows の場合: CATALINA_BASE=C:\tomcat_base1 bin/catalina.bat start

Tomcat の設定

このセクションでは、コンテナの構成中に使用される基本情報について説明します。

構成ファイル内のすべての情報は起動時に読み取られるため、ファイルへの変更にはコンテナの再起動が必要です。

ヘルプの入手先

これらのドキュメントが明確に記述され、理解しやすいように最善を尽くしましたが、何か見落としている可能性があります。問題が発生した場合に備えて、さまざまな Web サイトとメーリングリストを以下に示します。

問題と解決策の一部は、Tomcat のメジャーバージョン間で異なることに注意してください。Web 上を検索すると、Tomcat 11 には関係のない、以前のバージョンにのみ関連するドキュメントが表示される場合があります。

  • 現在のドキュメント - ほとんどのドキュメントには、潜在的な問題点がリストされます。関連するドキュメントを完全に読んでください。そうすることで、時間と労力を大幅に節約できます。Web 上を調べ回って、答えが目の前にあったことに気付くことはありません!
  • Tomcat FAQ
  • Tomcat WIKI
  • jGuru の Tomcat FAQ
  • Tomcat メーリングリストアーカイブ - 多数のサイトが Tomcat メーリングリストをアーカイブしています。リンクは時間の経過とともに変化するため、ここをクリックすると Google で検索されます。
  • TOMCAT-USER メーリングリスト。購読するには こちら を参照してください。返信がない場合は、質問がリストアーカイブまたは FAQ のいずれかで回答されている可能性が高くなります。Web アプリケーション開発に関する一般的な質問も時々尋ねられ回答されますが、質問は Tomcat 固有の問題に焦点を当ててください。
  • TOMCAT-DEV メーリングリスト。購読するには こちら を参照してください。このリストは、Tomcat 自体の開発に関する議論のために予約されています。Tomcat の構成に関する質問や、アプリケーションの開発および実行中に発生する問題は、通常、代わりに TOMCAT-USER リストの方が適切です。

また、ドキュメントに何か追加する必要があると思われる場合は、TOMCAT-DEV リストでお知らせください。