22

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

4

5 回答 5

12

我知道的最简单的方法是安装 Tomcat manager webapp,记下停止应用程序的 URL 和wget那个 URL。

于 2012-06-18T13:34:55.513 回答
12

试试这个名为 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 对话,所以它在“本地”工作,即通过 localhost,或者从任何可以访问 tomcat 实例的地方工作。

于 2013-01-03T06:52:47.757 回答
12

另一种方法是使用 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
于 2017-10-10T13:49:59.327 回答
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/在 manager 之后添加:

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
于 2016-01-05T07:51:22.353 回答
3

停止tomcat应用的三种方式

  1. 通过本地访问,您当然可以停止该过程。这完全停止了tomcat
  2. 通过本地和远程访问,您可以访问 server.xml 中定义的“关闭端口”(默认 = 8005)及其密码。如果您为此打开一个套接字并发送密码,tomcat 将完全关闭。
  3. 你听从山姆的建议,这让你有选择性。
于 2012-06-18T15:35:06.783 回答