個々のTomcat CatalinaベースのSetenv.sh
質問
現時点では、次のディレクトリで構成されたいくつかのカタリナベースがあります。
confログサーバーWebApps作業
ビン、lib、および一般的なディレクトリはすべて$ catalina_homeにあります。
BinディレクトリにSetenv.shファイルを追加する必要がありますが、すべてのカタリナベースで使用したくありません。これを行うために、catalina_baseにsetenv.shファイルをピックアップしたいcatalina_baseにビン方向を追加することを考えています。 BINディレクトリには、setenv.shファイルのみが含まれていますが、他には何も含まれていません。他のすべてはまだ$ catalina_home/ bin/(すなわちstartup.sh catalina.sh shutdown.shなど)にあります
これを行う副作用はありますか?スタートアップ中にTomcatは$ catalina_base/bin/and $ catalina_home/binの両方を使用できますか?
解決
setenv.shでビンを提供する場合、私はそれがどのように動作するかをテストしていません。しかし、これは、1つのCatalina_homeから異なるインスタンスを実行している多くのTomcatアプリケーションを構成する私の方法です。
その構成がある場合は、おそらくCatalina.shを実行する独自のスタートアップスクリプトがあります。オプションJava_home、catalina_home、catalina_base、およびおそらくcatalina_pidを使用します。
したがって、変更したり、setenv.shを追加したりする必要があるものは何でも、独自のスタートアップスクリプトを変更するだけです。または、スタートスクリプトの始まりに呼び出されるsetenv.shを作成します。これを独自のBinディレクトリに入れてください。
Linuxだと思います(Windowsでは似ています)。したがって、いくつかのapplicaitonsを持つことができます。それらをapp1、app2と呼びましょう。両方持っています: bin conf logs server webapps work
. 。ディレクトリ構造は次のとおりです。
/apps/APP1 bin start.sh stop.sh conf logs server webapps work /apps/APP2 bin start.sh stop.sh conf logs server webapps work /opt/apache-tomcat-xxx all the standard tomcat files... /opt/java-1.6 all the standard java files...
app1のstart.shでは、java_home、catalina_home、catalina_base、およびおそらくcatalina_pid、catalina_optsを設定できます。
export JAVA_HOME=/opt/java-1.6 export CATALINA_HOME=/opt/apache-tomcat-xxx export CATALINA_BASE=/apps/APP1 export CATALINA_PID=${CATALINA_BASE}/temp/app1.pid.file export CATALINA_OPTS=-Dmy.fancy.variable=hello ${CATALINA_HOME}/bin/catalina.sh start
停止はほぼ同じです。停止の開始を変更するだけです。次のステップは、変数定義を何らかのファイルに移動することです。config.iniとしましょう。このファイルをstart.shおよびstop.shでも調達する必要があります。 Windowsでは、エクスポートをセットに変更する必要があります。異なるシェル(バッシュではない場合)では、指示に従う必要があります。