Я пишу bash script, который автоматически развертывает приложение на сервере tomcat. Как остановить приложение из bash/командной строки?
Остановить tomcat веб-приложения из командной строки
Ответ 1
Самый простой способ, который я знаю, - установить диспетчер Tomcat webapp, отметить URL-адрес для остановки приложения и wget
этого URL-адреса.
Ответ 2
Попробуйте выполнить командную строку script для управления tomcat под названием 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
Поскольку он разговаривает с tomcat через HTTP, он работает "локально", то есть через localhost или из любого места, где доступен ваш экземпляр tomcat.
Ответ 3
Я использую wget
для остановки и запуска приложений.
Пользователь в tomcat-user.xml
должен иметь роли менеджера script.
Для 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
Ответ 4
Существует три способа остановить приложение tomcat
- При локальном доступе вы можете, конечно, просто остановить процесс. Это полностью останавливает tomcat.
- С локальным и удаленным доступом вы можете получить доступ к "порту выключения", определенному в server.xml(по умолчанию = 8005) с его паролем. Если вы откроете для этого сокет и отправьте пароль, tomcat полностью отключится.
- Вы следуете советам sam, который позволяет вам быть избирательными.
Ответ 5
Другой способ - использовать CURL. В моем случае я на корпоративной машине Windows, у которой нет WGET. Однако у меня есть 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