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

Mic*_*ler 19 deployment tomcat web-applications web-deployment

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

Sam*_*Sam 12

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


小智 12

尝试使用此命令行脚本来管理名为tomcat-manager的tomcat.它需要Python,但允许你从Unix shell中执行以下操作:

$ tomcat-manager --user=admin --password=newenglandclamchowder \
> http://localhost:8080/manager/ stop /myapp
Run Code Online (Sandbox Code Playgroud)

和:

$ tomcat-manager --user=admin --password=newenglandclamchowder \
> http://localhost:8080/manager deploy /myapp ~/src/myapp/myapp.war
Run Code Online (Sandbox Code Playgroud)

因为它通过HTTP与tomcat通信,它可以"本地"工作,即通过localhost工作,或者从tomcat实例可访问的任何地方工作.


Mat*_*ttC 10

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

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

curl --user admin:admin http://localhost:8080/manager/text/list
Run Code Online (Sandbox Code Playgroud)

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

curl --user admin:admin http://localhost:8080/manager/text/stop?path=/myapp
Run Code Online (Sandbox Code Playgroud)


小智 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
Run Code Online (Sandbox Code Playgroud)

自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
Run Code Online (Sandbox Code Playgroud)