Сначала мы видим структуру каталогов tomcat, где каждая папка имеет следующую цель:
- CATALINA_HOME
- CATALINA_BASE
- CATALINA_TMPDIR
- JRE_HOME / JAVA_HOME
- CLASSPATH
Обычный способ запустить Tomcat — установить только переменную среды CATALINA_HOME и запустить файл сценария startup.sh . Файл startup.sh автоматически рассчитывает и присваивает значения другим переменным, которые мы не установили.
Файл startup.sh устанавливает переменную среды, а затем вызывает catalina.sh . Этот файл читает значение CATALINA_BASE, присоединяет файл conf, т.е. папку $ CATALINA_BASE / conf, и получает файл server.xml. Этот файл является сердцем конфигурации Tomcat. Он содержит всю информацию о конфигурации, такую как порт завершения работы, сообщение о соединителе, имя хоста, папку приложения и т. Д. Например, Tomcat обычно использует 8080 в качестве порта соединителя, поэтому мы можем получить к нему доступ по адресу http: // localhost: 8080 / .
Создайте одну папку с именем « tomcat-instance1 » и скопируйте conf, logs, temp, webapps, рабочую папку из папки CATALINA_HOME и измените файл conf / server.xml в tomcat-instance1 . Нам нужно изменить эти порты: порт выключения, порт соединителя, порт ajp и порт перенаправления.
Давайте посмотрим пример файла server.xml:
1
2
3
4
5
6
7
8
|
< server port = "8005" shutdown = "SHUTDOWN" > ..... < connector connectiontimeout = "20000" port = "8080" protocol = "org.apache.coyote.http11.Http11NioProtocol" redirectport = "8443" /> < connector port = "8009" protocol = "AJP/1.3" redirectport = "8443" /> </ server > |
Таким образом, мы меняем эти порты на разные номера, потому что как только порт привязан, другой процесс не может связать его снова. В файле tomcat-instance1 / conf / server.xml я настроил порт сервера = 8105, порт соединителя = 8181, порт ajp = 8109.
1
2
3
4
5
6
7
8
|
< server port = "8105" shutdown = "SHUTDOWN" > ..... < connector connectiontimeout = "20000" port = "8181" protocol = "org.apache.coyote.http11.Http11NioProtocol" redirectport = "81443" /> < connector port = "8109" protocol = "AJP/1.3" redirectport = "81443" /> </ server > |
Теперь мы можем создать два файла сценария для запуска и выключения tomcat-instance1.
startup-instance1.sh
1
2
3
|
export CATALINA_BASE= /home/ramki/tomcat-instance1 cd $CATALINA_HOME /bin . /startup .sh |
shutdown-instance1.sh
1
2
3
|
export CATALINA_BASE= /home/ramki/tomcat-instance1 cd $CATALINA_HOME /bin . /shutdown .sh |
Здесь мы явно устанавливаем переменную CATALINA_BASE и указываем на новый tomcat-instance1. Затем мы идем в папку CATALINA_HOME / bin, потому что все бинарные файлы для запуска tomcat все еще присутствуют там. Затем мы используем скрипты запуска / выключения.
На основе описанной выше техники мы можем создать множество папок экземпляров, изменить значения портов файла conf / server.xml и запустить этот экземпляр со своими новыми файлами сценариев.
Ссылка: запуск нескольких экземпляров Tomcat на одной машине от нашего партнера JCG Рамы в