Статьи

Запуск нескольких экземпляров Tomcat на одном сервере

Вот краткое пошаговое руководство по запуску более одного экземпляра Tomcat на одной машине.

Шаг 1: Установите файлы Tomcat

Загрузите Tomcat 5.5, 6.x или 7.x и разархивируйте его в соответствующий каталог. Я обычно помещаю его в / usr / local, чтобы он оказался в каталоге /usr/local/apache-tomcat-5.5.17 , и создаю символическую ссылку с именем / usr / local / tomcat в этот каталог. Когда выйдут более поздние версии, я могу разархивировать их и заново связать, оставив старую версию на случай, если что-то не получится (что редко, если вообще случается, но я параноик).

Шаг 2: Создание каталогов для каждого экземпляра

Для каждого экземпляра Tomcat, который вы собираетесь запустить, вам понадобится каталог CATALINA_BASE . Например, вы можете сделать их / var / tomcat / serverA и / var / tomcat / serverB .

В каждом из этих каталогов вам нужны следующие подкаталоги: conf, logs, temp, webapps и work.

Поместите файл server.xml и web.xml в каталог conf. Вы можете получить их из каталога conf каталога, куда вы помещаете установочные файлы tomcat, хотя, конечно, вам следует немного сжать ваш server.xml.

В каталоге webapps вы разместите веб-приложения, которые вы хотите запустить, на конкретном экземпляре Tomcat.

Мне нравится, когда на каждом экземпляре установлено приложение Tomcat Manager, чтобы я мог поиграть с веб-приложениями и посмотреть, сколько там активных сессий. Смотрите мои инструкции по настройке веб-приложения Tomcat Manager .

Шаг 3. Настройте порты и / или адреса для каждого экземпляра.

Tomcat прослушивает как минимум два сетевых порта, один для команды выключения и один или несколько для приема запросов. Два экземпляра Tomcat не могут прослушивать один и тот же номер порта на одном и том же IP-адресе, поэтому вам нужно отредактировать файлы server.xml, чтобы изменить порты, которые они слушают.

Первый порт, который нужно посмотреть, это порт отключения. Это используется сценарием завершения работы командной строки (на самом деле, но Java-кодом, который он запускает), чтобы сообщить экземпляру Tomcat о необходимости выключения. Этот порт определен в верхней части файла server.xml для экземпляра.

<Server port="8001" shutdown="_SHUTDOWN_COMMAND_" debug="0">

Убедитесь, что каждый экземпляр использует другое значение порта. Значение порта обычно должно быть больше 1024 и не должно конфликтовать с любой другой сетевой службой, работающей в той же системе. Строка завершения работы — это значение, которое отправляется для выключения сервера. Обратите внимание, что Tomcat не будет принимать команды выключения, поступающие с других компьютеров.

В отличие от других портов, которые прослушивает Tomcat, порт отключения не может быть настроен на прослушивание своего порта с другого IP-адреса. Он всегда слушает на 127.0.0.1.

Другие порты, которые прослушивает Tomcat, настроены с помощью элементов <Connector>, например слушателей HTTP или JK. В порт конфигурирует атрибут, порт для прослушивания. Установка этого значения в разные экземпляры Tomcat на машине позволит избежать конфликта.

Конечно, вам нужно настроить все соединения с этим соединителем для использования другого порта. Если в качестве внешнего интерфейса используется веб-сервер, использующий mod_jk, mod_proxy и т. П., То это достаточно просто — измените конфигурацию вашего веб-сервера.

В некоторых случаях вы можете не захотеть этого делать, например, вы можете не использовать порт, отличный от 8080, для коннекторов HTTP. Если вы хотите, чтобы все ваши экземпляры Tomcat использовали один и тот же номер порта, вам нужно использовать разные IP-адреса. Система сервера должна быть настроена с несколькими IP-адресами, а атрибут адреса элемента <Connector> для каждого экземпляра Tomcat будет установлен на соответствующий IP-адрес.

Шаг 4: Запуск

Скрипты запуска — это совсем другая тема, но вот краткое изложение. Основным отличием от запуска одного экземпляра Tomcat является необходимость установки CATALINA_BASE в каталог, который вы настроили для конкретного экземпляра, который вы хотите запустить (или остановить). Вот типичная процедура запуска:

JAVA_HOME=/usr/java
JAVA_OPTS="-Xmx800m -Xms800m"
CATALINA_HOME=/usr/local/tomcat
CATALINA_BASE=/var/tomcat/serverA
export JAVA_HOME JAVA_OPTS CATALINA_HOME CATALINA_BASE

$CATALINA_HOME/bin/catalina.sh start

Источник:  http://kief.com/running-multiple-tomcat-instances-on-one-server.html