連載
» 2004年04月27日 10時00分 公開

JavaTips 〜アプリケーションサーバ/コンテナ活用編:コマンドでTomcatのデプロイ操作を効率化するには

[山田祥寛,@IT]

 「クラスファイルの更新時にTomcatを再起動しない方法」では、server.xml上の設定を変更することで、「.class」ファイルの変更時もTomcatに自動認識させる方法を紹介しました。

 しかし、アプリケーションが配置されているフォルダ下にあるすべてのファイルの更新状況を常時監視するのは、コンテナにとっては負荷の掛かる処理です。サイト自体に与える影響も考慮すると、<Context>要素のreloadable属性をtrueに設定するのは、開発環境のような限定された範囲にとどめるべきでしょう。

 本稿では、その代替として、Tomcat自体を再起動しなくても、アプリケーション単位での起動・停止の制御や、新たなアプリケーションを配置(デプロイ)が行えるツール「Tomcat Manager」を紹介します。

操作手順

(1)tomcat-users.xmlに権限を追加する

 Tomcat Managerを利用する際は、ユーザー認証が必要となります。Tomcatインストールフォルダ下の「/conf/tomcat-users.xml」の中に、“manager”権限を持ったユーザーが存在するかを確認してください。

 例えば、以下のような行が存在すれば、大丈夫です。roles属性には、そのユーザーが持つロール(権限)をカンマ区切りで指定することができます。

<user username="admin" password="admin" roles="admin,manager"/>

 もしも“manager”権限を持ったユーザーが存在しない場合は、任意のユーザーを追加してください。

 なお、tomcat-users.xmlを変更したときは、Tomcatの再起動が必要です。

(2)Tomcat Managerを使用する

 Tomcat Managerは、ブラウザのアドレス欄からコマンドを直接実行することができる簡易なデプロイメント・ツールです。

 ブラウザを起動し、例えば以下のURLを入力してください。

・http://localhost:8080/manager/list

Tomcat Managerの認証ダイアログ Tomcat Managerの認証ダイアログ

 認証ダイアログが開き、パスワードを聞かれますので、先ほど、tomcat-users.xmlで設定した“manager”権限を持つユーザーのID/パスワードを入力します(本稿では「admin/admin」)。

 すると、以下のような画面が表示されるはずです。これはTomcat上で現在利用可能なアプリケーションの一覧です。

利用可能なアプリケーション一覧 利用可能なアプリケーション一覧

 すなわち、Tomcat Managerでは、以下のような構文(といっても、URLの指定ですが)で、各種コマンドを呼び出すことができます。

・http://localhost:8080/manager/コマンド[?引数]

 Tomcat Managerで利用可能なコマンドには、以下のようなものがあります。なお、用例には「http://localhost:8080/manager/」が省かれていますので、実際に使用するときは「http://localhost:8080/manager/」と併せて入力してください。

コマンド 概要 用例
install 「.war」ファイルの配置 install?path=/javatips&war=jar:file:d:/javatips.war!/
アプリケーションフォルダの配置 install?path=/javatips&war=file:d:/javatips
reload アプリケーションの再起動 reload?path=/javatips
remove アプリケーションの削除 remove?path=/javatips
sessions セッションのタイムアウト時間 sessions?path=/javatips
start アプリケーションの開始 start?path=/javatips
stop アプリケーションの停止 stop?path=/javatips

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。