2 TomcatによるWebアプリケーションサーバ構築 第4章 Tomcatの構成(2)-デプロイ

Preview:

Citation preview

warファイルのままホストのアプリケーション・ベース(appBase)にコピーすると、unpackWars="true"という属性によりwarファイルが展開されたり、 配備済みのWebアプリケーションより新しいwarファイルが与えられると自動的に展開され、展開されたフォルダからアプリケーションのリソースを取得します。

Webアプリケーションごとに、< Context >要素をserver.xmlファイルに指定するか、個別のファイルに設定する必要があります。 個別のファイルは、Tomcat 5.0以降では「%CATALINA_HOME%\conf\Catalina\ホスト名\Webアプリケーション名.xml」となります。 Webアプリケーションがデプロイされるwebapps\下にある各Webアプリケーションのcontext.xmlからは読み込もうとしません。

Webアプリケーションをホストにデプロイすると、図のようなフォルダ構造になります。図では、デフォルトのホストであるlocalhostにデプロイした場合で、%CATALINA_HOME%\webapps\下にwarファイル名のフォルダで展開されます。また、JSPがアクセスされると、%CATALINA_HOME%\work\エンジン名\ホスト名\にWebアプリケーション名のフォルダができ、JSPがコンパイルされたクラス・ファイルが置かれます。

Webアプリケーションを配備する場所は、HostのappBase属性(デフォルトは%CATALINA_HOME%\webapps)で指定する場所です。 作成済みのwarファイルを、インストールするホストのappBaseに設定したフォルダにcopyコマンドやエクスプローラを使ってコピーします。 unpackWARs属性がtrueに設定されているため、warファイルは自動的に展開されます。 デプロイすると、元のWebアプリケーションに設定されていたcontext.xmlファイルを元に、 コンテキスト記述子であるconf/エンジン名/ホスト名/Webアプリケーション名.xmlファイルが生成されます。

作成済みのWebアプリケーションのフォルダを丸ごと、デプロイ先のホストのappBaseに設定したフォルダにエクスプローラを使ってコピーします。デプロイすると、コンテキスト記述子であるconf\エンジン名\ホスト名\Web アプリケーション名.xmlファイルが生成されます。

マネージャ・ツールから、サーバー上にあるwarファイルまたは展開されたWebアプリケーションのフォルダを指定してをデプロイする場合です。接続しているサーバーがデフォルトのホストである localhostであれば、%CATALINA_HOME%\webapps 下にデプロイされます。接続しているサーバーが新規に作成した仮想ホストであれば、仮想ホストのappBase属性で指定したフォルダ下にデプロイされます。 Tomcat6.0.32では、エラーになりますので、次の「WARファイルの配備」を使用してください。

マネージャ・ツールから、Tomcatが稼動するマシン以外のマシン上にあるwarファイルをアップロードしてデプロイすることができます。この場合は、必ずwarファイルでなければなりません。接続しているサーバーがデフォルトのホストである localhostであれば、%CATALINA_HOME%\webapps下にデプロイされます。接続しているサーバーが新規に作成した仮想ホストであれば、仮想ホストのappBase属性で指定したフォルダ下にデプロイされます。

warファイルがlocalhostにデプロイされた後のフォルダ構造です。warファイルがautoDeploy属性により展開され、アプリケーションが稼動するのに必要なファイルを確認することができます。

Tomcat 4まではコンテキスト記述子の設定内容を、Tomcatの設定ファイルserver.xmlに格納していました。server.xmlに記述した場合、変更があるとサーバーを再起動しなければならないためこの方法は非推奨となっており、一般的に以下の場所に設定します。

1. %CATALINA_HOME%\conf\エンジン名\ホスト名\Webアプリケーション名.xml2. Webアプリケーションのデプロイ・フォルダ\META-INF\context.xml

マネージャ・ツールのコンテキスト記述子を、新規に作成した仮想ホストのフォルダに設定することにより、 新しい仮想ホストからもマネージャ・ツールが使用できます。

コンテキスト・プロパティで表示される属性です。実際には、いくつかのコンテキスト記述子(Webアプリケーション名.xmlファイル)で設定されていたり、Tomcatのデフォルトとして設定されています。 この場合、このファイル名とpath属性の値は一致していなければなりません。

conf\context.xmlファイルで設定されている< WatchedResource >は、Tomcatの監視対象のファイルをリストしています。 設定されているWEB-INF\web.xmlファイルが変更されると、自動的に再ロードされるわけではなく、 reloadable="true"となっているアプリケーションが再ロードされます。通常、仮想ホストごとのcontext.xml.defaultファイルは存在しません。