実行中のTomcatへのWebアプリケーションのデプロイに関するベストプラクティスをいくつか収集したいと思います。まあ、私はWebアプリケーションの展開プロセスについて説明しなければならず、プロセスはやや混乱していました。実行中のTomcatへのWebアプリケーションのデプロイ
WARファイル(foo.war)にアプリケーションが正しく構成されており、追加の構成は必要ありません。この場合、展開プロセスは簡単です。
- foo.warファイルを$ CATALINA_HOME/webappsディレクトリにコピーします。アプリケーションが正しく起動すると、アプリケーションは$ CATALINA_HOME/webapps/fooディレクトリに自動的にデプロイされます。
は、アプリケーションをアンデプロイするには、次の
- は、$ CATALINA_HOME/webappsにからfoo.warファイルを削除します。アプリケーションが正しくアンロードされると、アプリケーションはアンロードされ、$ CATALINA_HOME/webapps/fooは削除されます。
私は実行中のアプリケーションでいくつかのコンテキストパラメータをオーバーライドしたいと考えています。
- の$ CATALINA_BASE/confに/ [は、EngineName]/[ホスト名] /ディレクトリにfoo.xml
- コピーしたファイルと呼ばれるcontext.xmlファイルを作成します。私がする必要があるすべてはdocsを、読みました。
残念ながら、それは動作しませんでした。アプリケーションは再起動しませんでした。実験的には、ワーニングファイルが$ CATALINA_HOME/webapps以外の場所に配備されていることが唯一の解決策であることがわかりました。 さらに、WARファイル内の設定可能なコンテキストパラメータのデフォルト値は、web.xmlに指定する必要があります。なぜなら、WARファイル内のcontext.xmlは、context.xmlが外部にあるときには読み込まれないからです。
<?xml version='1.0' encoding='utf-8'?>
<Context docBase="/path-to-deployment-directory/foo.war">
<Parameter name="myparam" value="newvalue" override="false"/>
</Context>
するとあなたは「newValueは」WARのweb.xmlで指定された値を上書きしたい場合は、パラメータにfalseをオーバーライドを=必ず指定してください:ここで
はfoo.xmlの簡単な例です。 。これは私たちにとって明らかではなかった。このように、実行中のTomcatにデプロイするためにaplicationます。$ CATALINA_BASE/confに/ [は、EngineName]/[ホスト名にfoo.xml
- を] /ディレクトリ。
- foo.warをfoo.xmlのdocBaseで指定された場所にコピーします。アプリケーションは自動的に展開されます。
適用するには、新しいコンテキストパラメータ:
- foo.xmlにパラメータ値を追加して、ファイルを保存します。アプリケーションは自動的に再デプロイされます。
- は、$ CATALINA_BASE/confに/ [は、EngineName]/[ホスト名] /ディレクトリのfooを削除すること
ノートからfoo.xmlを削除します。戦争も機能しますが、foo.xmlも削除されます。今では
、私は次の質問を持っている:
- は、Tomcatを停止せずにWebアプリケーションを展開するすべてのベストプラクティスですか?私は、人々が別々の風袋で各アプリケーションを実行するので、実行中の風袋への配備は決して必要ないという意見を聞いた。
- WARファイルを$ CATALINA_HOME/webappsにコピーすることをお勧めしますか、別の場所に保管することをお勧めしますか?
- $ CATALINA_HOME/webappsにデプロイされたアプリケーションを設定するには
- アプリケーションのデプロイメントのためにcatalina.outにINFO行がないのはなぜですか?デプロイメントのためのものはありますか?それは設定可能ですか?