「クラスファイルの更新時にTomcatを再起動しない方法」では、server.xml上の設定を変更することで、「.class」ファイルの変更時もTomcatに自動認識させる方法を紹介しました。
しかし、アプリケーションが配置されているフォルダ下にあるすべてのファイルの更新状況を常時監視するのは、コンテナにとっては負荷の掛かる処理です。サイト自体に与える影響も考慮すると、<Context>要素のreloadable属性をtrueに設定するのは、開発環境のような限定された範囲にとどめるべきでしょう。
本稿では、その代替として、Tomcat自体を再起動しなくても、アプリケーション単位での起動・停止の制御や、新たなアプリケーションを配置(デプロイ)が行えるツール「Tomcat Manager」を紹介します。
Tomcat Managerを利用する際は、ユーザー認証が必要となります。Tomcatインストールフォルダ下の「/conf/tomcat-users.xml」の中に、“manager”権限を持ったユーザーが存在するかを確認してください。
例えば、以下のような行が存在すれば、大丈夫です。roles属性には、そのユーザーが持つロール(権限)をカンマ区切りで指定することができます。
<user username="admin" password="admin" roles="admin,manager"/>
もしも“manager”権限を持ったユーザーが存在しない場合は、任意のユーザーを追加してください。
なお、tomcat-users.xmlを変更したときは、Tomcatの再起動が必要です。
Tomcat Managerは、ブラウザのアドレス欄からコマンドを直接実行することができる簡易なデプロイメント・ツールです。
ブラウザを起動し、例えば以下のURLを入力してください。
・http://localhost:8080/manager/list
認証ダイアログが開き、パスワードを聞かれますので、先ほど、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.