从命令行停止Web应用程序tomcat

时间:2012-06-18 13:31:07

标签: tomcat web-applications deployment web-deployment

我正在编写一个自动将应用程序部署到tomcat服务器的bash脚本。如何从bash /命令行停止应用程序?

5 个答案:

答案 0 :(得分:12)

我所知道的最简单的方法是安装Tomcat管理器webapp,记下停止应用程序的URL,以及wget该URL。

答案 1 :(得分:12)

试试这个名为tomcat-manager的command-line script for managing 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通信,它可以“本地”工作,即通过localhost工作,或者从你的tomcat实例可以访问的任何地方工作。

答案 2 :(得分:9)

我使用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

答案 3 :(得分:9)

另一种方法是使用CURL。在我的情况下,我在没有WGET的企业Windows机器上。我确实有CURL,可以通过GIT BASH终端使用它。

要列出在Tomcat上运行的应用程序,我运行以下命令(使用用户:密码)

curl --user admin:admin http://localhost:8080/manager/text/list

然后停止名为“myapp”的应用程序

curl --user admin:admin http://localhost:8080/manager/text/stop?path=/myapp

答案 4 :(得分:2)

有三种方法可以停止tomcat应用程序

  1. 通过本地访问,您当然可以停止该过程。这完全阻止了tomcat
  2. 通过本地和远程访问,您可以使用其密码访问server.xml(默认值= 8005)中定义的“关闭端口”。如果您打开一个套接字并发送密码,tomcat将完全关闭。
  3. 你遵循山姆的建议,让你有选择性。