トッカンソフトウェア

Tomcat コマンドラインでデプロイ

Eclipseで作成したWebアプリケーションをTomcat本体にデプロイします。

今回はブラウザを使用せず、コマンドプロンプトだけでデプロイをやってみます。


事前準備

Webでデプロイしたときと同じようにデプロイするユーザを定義します

conf\tomcat-users.xml
最後の</tomcat-users>の前に以下を入れます。

<user username="tomcat" password="tomcat" roles="manager-script"/>

ロールはmanager-scriptを指定します。

テスト用のWebアプリケーションを用意します。ここでは C:/work/test.war に用意しました。

デプロイされているアプリケーション一覧

コマンド

curl -u tomcat:tomcat http://localhost:8080/manager/text/list

curlはWEBブラウザのコマンドライン版になります。windowsの標準機能になります。
tomcat:tomcatはtomcat-users.xmlで定義したusername、passwordになります。
/manager/text/コマンドでコマンドを実行します。

コマンドプロンプトの出力

OK - バーチャルホスト [localhost] のアプリケーション一覧です
/:running:0:ROOT
/examples:running:0:examples
/host-manager:running:0:host-manager
/manager:running:0:manager
/docs:running:0:docs

デプロイされているWEBアプリケーションはまだありません。

デプロイ


curl -u tomcat:tomcat http://localhost:8080/manager/text/deploy?war=file:C:/work/test.war

warでwarファイルパスを指定します。

コマンドプロンプトの出力

OK - コンテキストパス [/test] でアプリケーションを配備しました

デプロイ一覧で一覧に追加されたか確認してみます

curl -u tomcat:tomcat http://localhost:8080/manager/text/list

OK - バーチャルホスト [localhost] のアプリケーション一覧です
/:running:0:ROOT
/examples:running:0:examples
/host-manager:running:0:host-manager
/test:running:0:test
/manager:running:0:manager
/docs:running:0:docs

追加されています

上記コマンドを実行しなくてもwebappsフォルダにwarファイルを置くだけでもデプロイされます。

アンデプロイ


curl -u tomcat:tomcat http://localhost:8080/manager/text/undeploy?path=/test

pathでデプロイされているWEBアプリを指定します。

コマンドプロンプトの出力

OK - コンテキストパス [/test] のアプリケーションを配備解除しました


開始、停止、再起動


curl -u tomcat:tomcat http://localhost:8080/manager/text/start?path=/test
curl -u tomcat:tomcat http://localhost:8080/manager/text/stop?path=/test
curl -u tomcat:tomcat http://localhost:8080/manager/text/reload?path=/test

それぞれ開始、終了、再起動になります。

メモリリークチェック


curl -u tomcat:tomcat http://localhost:8080/manager/text/findleaks?statusLine=true

メモリリークチェックを行います。チェック時にfull gcが行われます。

ページのトップへ戻る