我正在编写一个bash脚本,该脚本会自动将应用程序部署到tomcat服务器。如何从 bash/命令行停止应用程序?
另一种方法是使用 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
我知道的最简单的方法是安装 Tomcat 管理器 Web 应用程序,记下用于停止应用程序的 URL,并wget
该 URL。
试试这个命令行脚本来管理名为 tomcat-manager 的 tomcat。 它需要Python,但允许你从Unix shell做一些事情,比如:
$ 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通信,所以它可以"本地"工作,即通过本地主机,或者从任何可以访问tomcat实例的地方工作。
我使用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
三种方法可以停止雄猫应用程序
- 通过本地访问,您当然可以停止该过程。这完全阻止了雄猫
- 通过本地和远程访问,您可以使用其密码访问服务器中定义的"关闭端口".xml(默认值 = 8005)。如果您打开一个套接字并发送密码,tomcat 将完全关闭。
- 你听从山姆的建议,这让你有选择性。
在某些情况下,务实的方法可能是简单地删除或重命名相应的 war-file,因此 tomcat 会取消部署应用程序。