Сервер Apache Tomcat можно запускать/останавливать не только с помощью скриптов bin/startup.sh
и bin/shutdown.sh
– но и напрямую вызывая скрипт catalina.sh
, передавая ему нужный аргумент.
Если рассмотреть скрипт bin/startup.sh
– то всё, что он делает – это вызывает сам catalina.sh
передавая ему команду start
и полученные аргументы:
...PRGDIR=`dirname "$PRG"` EXECUTABLE=catalina.sh ... exec "$PRGDIR"/"$EXECUTABLE" start "$@"
Т.е. – того же эффекта можно добиться просто выполнив:
$ ./bin/catalina.sh start Using CATALINA_BASE: /home/tomcats/APP/app-server Using CATALINA_HOME: /home/tomcats/APP/app-server Using CATALINA_TMPDIR: /home/tomcats/APP/app-server/temp Using JRE_HOME: /usr/java/jdk1.6.0_45/jre/ Using CLASSPATH: /home/tomcats/APP/limits-server/bin/bootstrap.jar:/home/tomcats/APP/app-server/bin/tomcat-juli.jar Tomcat started.
Однако, у скрипта catalina.sh
имеется ещё несколько очень полезных опций:
Опции скрипта
|
|
---|---|
debug |
запуск Tomcat в debug-режиме; |
debug -security |
запуск Tomcat в debug-режиме с security-менеджером; |
jpda start |
запуск Tomcat с JPDA-дебаггером; |
run |
запуск Tomcat в текущем shell (данные выводятся в консоль); |
run -security |
запуск Tomcat в текущем shell с security-менеджером; |
start |
запуск Tomcat в новом shell ; |
start -security |
запуск Tomcat в новом shell с security-менеджером; |
stop |
остановка Tomcat с 5-секундным ожиданием для завершения процесса; |
stop n |
остановка Tomcat с n-секундным ожиданием для завершения процесса; |
stop -force |
остановка Tomcat с 5-секундным ожиданием для завершения процесса, после чего будет выполнено kill -KILL , если процесс не завершён; |
stop n -force |
остановка Tomcat с n-секундным ожиданием для завершения процесса, после чего будет выполнено kill -KILL , если процесс не завершён; |
configtest |
проверка синтаксис файла server.xml (нет в Tomcat 5.*); |
version |
версия Tomcat; |
Пример:
$ ./bin/catalina.sh configtest Using CATALINA_BASE: /home/tomcats/APP/app-server Using CATALINA_HOME: /home/tomcats/APP/app-server Using CATALINA_TMPDIR: /home/tomcats/APP/app-server/temp Using JRE_HOME: /usr/java/jdk1.6.0_45/jre/ Using CLASSPATH: /home/tomcats/APP/limits-server/bin/bootstrap.jar:/home/tomcats/APP/app-server/bin/tomcat-juli.jar May 30, 2014 3:45:14 PM org.apache.catalina.core.AprLifecycleListener init INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/java/jdk1.6.0_45/jre/lib/amd64/server:/usr/java/jdk1.6.0_45/jre/lib/amd64:/usr/java/jdk1.6.0_45/jre/../lib/amd64:/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib May 30, 2014 3:45:14 PM org.apache.catalina.startup.SetAllPropertiesRule begin WARNING: [SetAllPropertiesRule]{Server/Service/Connector} Setting property 'port' to '${port.http}' did not find a matching property. May 30, 2014 3:45:14 PM org.apache.catalina.startup.SetAllPropertiesRule begin WARNING: [SetAllPropertiesRule]{Server/Service/Connector} Setting property 'redirectPort' to '${port.https}' did not find a matching property. May 30, 2014 3:45:14 PM org.apache.catalina.startup.Catalina load WARNING: Catalina.start using conf/server.xml: java.net.MalformedURLException: no protocol: ${connector.config} ... Configuration error detected!