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が行われます。
ページのトップへ戻る