CATALINA_HOMEとCATALINA_BASE


11

UbuntuがCATALINA_BASE環境変数を設定する理由についての明確な答えが見つかりませんCATALINA_HOME。設定しないと同等になることを示唆するこのドキュメントを見つけましCATALINA_BASECATALINA_HOME。また、そのドキュメントは、CATALINA_BASE複数のインスタンスを利用可能にするために設定が行われることを示唆しています。

しかし、私はこれを説明するものを見つけることができないようです。おそらく、シングルで実行することCATALINA_HOMEは長い間良いことでしたが、Ubuntuは切り替えました。

私はこの質問をAskUbuntuに関する明快な答えで見つけましたが、CATALINA_HOMEvs CATALINA_BASE。についてはあまり明確ではありません。その質問がされる「のappBase」パラメータにほのめかすを行い、文書化、構成ファイル内のホストコンテナのTomcat6のドキュメントに。

質問は次のとおりです。これら2つの変数が分離されているのはなぜですか?それらはいつ分離されるべきですか?これにより、管理者は何ができますか?次に、各ディレクトリに何を配置しますか?これら2つの変数はいつ同じにすべきですか?ASFは標準的な慣行として何を推奨していますか?


回答:


12

これらの2つの変数が分離されているのはなぜですか?

catalina.homeは、共通情報の場所を指します。
catalina.baseは、すべてのインスタンス固有の情報が保持されているディレクトリを指します

したがって、1つのホームがあり、複数のベースを持つことができます。

それらはいつ分離されるべきですか?これら2つの変数はいつ同じにすべきですか?

1つのTomcatがある場合は、同じ値に設定できますが、事前に計画し、別々に保つことをお勧めします。複数のTomcatが必要かどうかはわかりません。Ubuntuはより論理的であるため、この考え方に従うようになりました.2つ以上のTomcatを実行しやすくしますが、同じ値に両方を設定すると全員がベース値を編集する必要がある1つのTomcatの実行を無効にしません。それらを異なる状態に保つ方が理にかなっています。

これにより、管理者は何ができますか?

各Tomcatインスタンスが独自のアプリを持つことができる1つ以上のTomcatを同時に実行できます。

次に、各ディレクトリに何を配置しますか?

ホームには、便器が含まれています。
ベースには、conf、logs、webapps、work、tempが含まれます。Tomcatインスタンスごとに1。


4

CATALINA_HOMECATALINA_BASE

複数のインスタンスを実行している場合、両方の変数が必要CATALINA_HOMEです。それ以外の場合のみ。

つまり、:CATALINA_HOMEは必須でCATALINA_BASEあり、オプションです。

CATALINA_HOME Tomcatインストールのルートを表します。

オプションで、インスタンス$CATALINA_BASEごとに定義することにより、Tomcatを複数のインスタンス用に構成できます。複数のインスタンスが構成されていない場合$CATALINA_BASEは、と同じ$CATALINA_HOMEです。

参照:Apache Tomcat 7-はじめに

別々に実行しているCATALINA_HOMECATALINA_BASE言っているRUNNING.txtに記載されています:

CATALINA_HOMEおよびCATALINA_BASE環境変数は、それぞれのApache Tomcatの位置およびその活性コンフィギュレーションの場所を指定するために使用されます。

スクリプト内CATALINA_HOMECATALINA_BASE変数を 構成することはできませんsetenv。それらはそのファイルを見つけるために使用されるためです。

例えば:

(4.1)Tomcatは、次のコマンドのいずれかを実行することで起動できます。

  %CATALINA_HOME%\bin\startup.bat         (Windows)

  $CATALINA_HOME/bin/startup.sh           (Unix)

または

  %CATALINA_HOME%\bin\catalina.bat start  (Windows)

  $CATALINA_HOME/bin/catalina.sh start    (Unix)

複数のTomcatインスタンス

多くの場合、同じサーバー上の複数のユーザー間でTomcatバイナリ配布の単一のコピーを共有することが望ましいです。これを可能にするために、CATALINA_BASE 環境変数を、「個人」Tomcatインスタンスのファイルを含むディレクトリに設定できます。

別のCATALINA_HOMEand CATALINA_BASEで実行すると、ファイルとディレクトリは次のように分割されます。

CATALINA_BASE

  • bin -のみ:setenv.sh(* nix)またはsetenv.bat(Windows)、tomcat-juli.jar
  • conf -サーバー構成ファイル(server.xmlを含む)
  • lib -以下で説明するライブラリとクラス
  • logs -ログおよび出力ファイル
  • webapps -自動的にロードされるWebアプリケーション
  • work -Webアプリケーションの一時作業ディレクトリ
  • temp -JVMが一時ファイルに使用するディレクトリ>

CATALINA_HOME

  • bin -起動およびシャットダウンスクリプト
  • lib -以下で説明するライブラリとクラス
  • endorsed-標準の「承認済み標準」をオーバーライドするライブラリ。デフォルトでは存在しません。

確認方法

あなたの何をチェックする最も簡単な方法CATALINA_BASECATALINA_HOME実行することであるstartup.sh例えば:

$ /usr/share/tomcat7/bin/startup.sh
Using CATALINA_BASE:   /usr/share/tomcat7
Using CATALINA_HOME:   /usr/share/tomcat7

dpkg以下のツール(Debian / Ubuntu)でTomcatファイルがインストールされている場所を確認することもできます。

dpkg -L tomcat7-common

3

2つのTomcatインスタンスを実行する最良の方法であることに加えて、更新が容易になります。

このセットアップを使用しています。

<!-- language: bash -->

/opt/apache-tomcat-7.0-32
/opt/apache-tomcat-7.0.39
/opt/apache-tomcat-7       (simbolic link to apache-tomcat-7.0.32)

CATALINA_HOME = / opt / apache-tomcat-7

/srv/user_deploys/tomcat_product_a
/srv/user_deploys/tomcat_product_b

CATALINA_BASE 1つまたは別のdeployディレクトリを指します。

基本的なバイナリとライブラリにある/opt/だけのコピーserver.xmlweb.xml(およびいくつかの他のファイル、ドキュメントを読んで、してください)と(、lovellyとしてRTLM、L下さい)ディレクトリビン、ログ、Webアプリケーション、一時、作業を作成します

CATALINA_HOMEインスタンスごとに$ CATALINA_BASE / bin / setenv.shファイルを変更してTomcatバイナリを更新するか、シンボリックリンクを変更してバイナリを「グローバルに」更新することができます。

インスタンスが1つしかない場合でも、更新は簡単です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.