はじめに

目次

はじめに

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

用語

これらのドキュメントを読む過程で、いくつかの用語に出くわすでしょう。Tomcatに固有のものもあれば、サーブレットおよびJSP仕様で定義されているものもあります。

  • コンテキスト - 簡単に言うと、コンテキストとは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-9.0.10またはC:\Program Files\apache-tomcat-9.0.10
  • 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ファイルの重複を回避します。
  • 特定のsettings, 例えば setenv shell スクリプトや bat スクリプトファイル (お使いのオペレーティングシステムに依存) を共有できます。

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 10には関係なく、以前のバージョンにのみ関連するドキュメントがいくつかあります。

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

また、ドキュメントに含めるべきだと思うものがあれば、ぜひTOMCAT-DEVリストでお知らせください。