アプリケーションをTomcatサーバーに自動的にデプロイするbashスクリプトを書いています。アプリケーションをbash /コマンドラインから停止するにはどうすればよいですか?
私が知っている最も簡単な方法は、TomcatマネージャWebアプリケーションをインストールし、アプリケーションを停止するためのURLを書き留め、そのURLをwget
することです。
これを試してください Tomcat-managerと呼ばれるコマンドラインスクリプト Tomcat-managerと呼ばれます。 Pythonが必要ですが、Unixシェルから次のようなことができます。
$ Tomcat-manager --user=admin --password=newenglandclamchowder \
> http://localhost:8080/manager/ stop /myapp
そして:
$ Tomcat-manager --user=admin --password=newenglandclamchowder \
> http://localhost:8080/manager deploy /myapp ~/src/myapp/myapp.war
HTTP経由でTomcatと通信するため、「ローカル」で、つまりlocalhostを介して、またはTomcatインスタンスがアクセス可能な場所から機能します。
別の方法は、CURLを使用することです。私の場合、WGETがインストールされていない企業のWindowsマシンを使用しています。 CURLは持っていますが、GIT BASH端末から使用できます。
Tomcatで実行されているアプリケーションを一覧表示するには、次のコマンドを実行します(user:passwordを使用)。
curl --user admin:admin http://localhost:8080/manager/text/list
次に、「myapp」という名前のアプリケーションを停止するには
curl --user admin:admin http://localhost:8080/manager/text/stop?path=/myapp
アプリケーションの停止と起動にはwget
を使用しています。 Tomcat-user.xml
のユーザーには、マネージャースクリプトの役割が必要です。
Tomcat 5/6の場合:
wget "http://<user>:<password>@<servername>:<port>/manager/stop?=/<application context>" -O - -q
wget "http://<user>:<password>@<servername>:<port>/manager/start?=/<application context>" -O - -q
Tomcat 7(私のインストールでは7.0.62)以降、マネージャの後に/text/
を追加する必要があります:
wget "http://<user>:<password>@<servername>:<port>/manager/text/stop?path=/<application context>" -O - -q
wget "http://<user>:<password>@<servername>:<port>/manager/text/start?path=/<application context>" -O - -q
Tomcatアプリケーションを停止するには3つの方法があります