0

ROOT.warTomcat は現在、実稼働中のアプリをホストしています。

新しいアプリをテストする必要がありますがROOT.war,、運用中のアプリの実行を停止したくありません。ROOTアプリをフォルダーにデプロイする必要があることに注意してください。

これを行う最も簡単な方法は何ですか?

4

1 に答える 1

2

Tomcat は、Apache HTTPD と同じ名前ベースの仮想ホスティングを行うことができます。必要がある

  • <Host>に 2 番目の要素を追加しますserver.xml。内部は同じですが、とEngineの値が異なります。nameappBase
<Host name="app2.example.com" appBase="app2-webapps"
   unpackWARs="true" autoDeploy="true"
   xmlValidation="false" xmlNamespaceAware="false"/>
  • 2番目の ROOT.war を入れますapp2-webapps
  • Tomcat がリバース プロキシの背後にある場合は、Hostヘッダーがそのまま通過するようにしてください (mod_proxy を使用する Apache HTTPD の場合、これは設定を意味します)。ProxyPreserveHost On

へのリクエストはhttp://app2.example.com/*新しいアプリで処理され、他のホスト名へのリクエストは古いものに送られます。

私はこの手法を使用して、1 つの Tomcat で複数の異なる運用アプリケーションをホストしていますが、運用アプリケーションと開発/テスト アプリケーションを混在させるために同じ Tomcat を使用することはお勧めしません。代わりに、別のサーバーを使用するか、別のポートで実行されている 2 番目の Tomcat インスタンスを使用する方が安全です。

于 2013-03-17T19:18:46.977 に答える