Могу ли я запустить два экземпляра Tomcat на одном компьютере? - PullRequest
50 голосов
/ 13 января 2011

Могу ли я запустить два сервера Tomcat с двумя разными портами на одном компьютере?Это создаст какие-либо проблемы?Когда я запускаю tomcat, он создает файл javaw.exe в диспетчере задач.

Ответы [ 9 ]

60 голосов
/ 13 января 2011

Помимо изменения Connector port для protocol="HTTP/1.1", описанного в одном из ответов ниже.

Я думаю, что для этого необходимо изменить порт сервера на «Выключение»

<Server port="8005" shutdown="SHUTDOWN">

, а такжеAJP номер порта.

<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

Если вы хотите запустить несколько экземпляров tomcat параллельно.

30 голосов
/ 13 января 2011

Да! Вы можете. Вам нужно изменить свой порт, чтобы иметь другой экземпляр.

Для этого выполните шаги.

1.) Найдите файл server.xml в {папке установки Tomcat} \ conf \

2.) Найти следующее похожее утверждение

<!-- Define a non-SSL HTTP/1.1 Connector on port 8180 -->
    <Connector port="8080" maxHttpHeaderSize="8192"
               maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
               enableLookups="false" redirectPort="8443" acceptCount="100"
               connectionTimeout="20000" disableUploadTimeout="true" />

3.) В файле Tomcat server.xml указано, что он работает на порте 8080. Измените порт Connector = порт 8080 ″ на любой другой номер порта.

Например

<Connector port="8181" protocol="HTTP/1.1" 
               connectionTimeout="20000" 
               redirectPort="8443" />

4) Отредактируйте и сохраните файл server.xml. Перезапустите Tomcat. Готово

13 голосов
/ 13 января 2011

Да, это совершенно нормально.Я делал это много раз.Вам нужно будет проверить все порты, которые вы используете для Tomcat.Я не могу вспомнить, есть ли еще специальный порт локального управления, но если это так, то они тоже должны быть другими.

7 голосов
/ 06 июня 2012

В общем, мы также устанавливаем свойство CATALINA_HOME.поэтому сценарий запуска сначала читает catalina_home, а затем вычисляет остаток пути.Если задана эта переменная среды, и если вы попытаетесь запустить tomcat из любого места установки копирования-вставки tomcat, вы получите запуск tomcat, на который указывает CATALINA_HOME.

Таким образом, при запуске двух tomcat с одного компьютера удалитеCATALINA_HOME недвижимость.Таким образом, он установит свойство CATALINA_HOME в зависимости от каталога, из которого вы запускаете скрипт запуска.

6 голосов
/ 20 февраля 2013

Добавление нескольких указателей к подробным инструкциям о том, как этого добиться:

  1. Шаг за шагом Запуск нескольких экземпляров Tomcat на одном сервере.
  2. An более старая версия вышеперечисленного.
  3. Объяснение различных переменных и папок среды, которые играют роль в такой настройке.
3 голосов
/ 24 февраля 2017

Я сталкивался с подобной ситуацией, и ответ, упомянутый здесь , решает его очень четко и просто.

Допустим, у вас есть только одна папка Tomcat, расположеннаяв C: \ apache-tomcat-7.0.39, и вы хотите запустить из него два экземпляра.

Убедитесь, что у вас установлена ​​системная / пользовательская переменная CATALINA_HOME, и указывает на C: \ apache-tomcat-7.0.39

Создать папку C: \ instance1.Скопируйте conf, webapps и временные папки из C: \ apache-tomcat-7.0.39 и вставьте их в C: \ instance1.Вы можете удалить содержимое из веб-приложений и временных папок, расположенных в instance1, но не трогайте содержимое conf.Теперь скопируйте> вставьте C: \ instance1 и переименуйте его в instance2.Таким образом, и instance1, и instance2 будут иметь одинаковое содержимое.Перейдите в C: \ instance2 \ conf, отредактируйте server.xml и измените номера этих портов (я пометил их как XXXX):

Разверните все, что вы хотитеinto instance1 \ webapps и instance2 \ webapps Создайте следующие 4 пакетных файла в C: \

instance1_startup.bat

@echo off

set CATALINA_BASE=C:\instance1

cd "%CATALINA_HOME%\bin"

set TITLE=My Tomcat Instance 01

call startup.bat %TITLE%

instance1_shutdown.bat

@echo off

set CATALINA_BASE=C:\instance1

cd "%CATALINA_HOME%\bin"

call shutdown.bat

instance2_startup.bat

@echo off

set CATALINA_BASE=C:\instance2

cd "%CATALINA_HOME%\bin"

set TITLE=My Tomcat Instance 02

call startup.bat %TITLE%

instance2_shutdown.bat

@echo off

set CATALINA_BASE=C:\instance2

cd "%CATALINA_HOME%\bin"

call shutdown.bat

Запустите instance1_startup.bat и instance2_startup.bat, надеюсь, он должен работать.

3 голосов
/ 08 июля 2015

Вот мой опыт / процесс создания двух Tomcats (Tom1 и Tom2), работающих на Windows:

  1. Настройка Tomcat в соответствии с http://www.ntu.edu.sg/home/ehchua/programming/howto/Tomcat_HowTo.html

  2. Однако Tom1 запускается нормально, но не Tom2.

  3. Так что в дополнение к вышесказанному, в server.xml, сделайте / измените следующее (на Tomcat 6.0.44, JDK 1.6.0_45):

    Строка 22: порт отключения Tom1 = 9001
    Строка 22: порт отключения Tom2 = 9002

    Строка 53: имя службы Tom1 = "Catalina1"
    Строка 53:Имя службы Tom2 = "Catalina2"

    Строка 69: соединитель Tom1 (http) = 9001
    Строка 69: соединитель Tom2 (http) = 9002

    Строка 71: порт перенаправления Tom1 = 8443
    Строка 71: порт перенаправления Tom2 = 8444

    Строка 90: соединитель Tom1 (ajp) = 8009
    Строка 90: перенаправление Tom1 = 8443
    Строка 90: соединитель Tom2 (ajp) = 8010
    Строка 90: перенаправление Tom2 = 8444

    Строка 102: имя двигателя Tom1 = "Catalina1"
    Строка 102: Имя двигателя Tom2 = "Catalina2"

  4. Запуск каждого сервера

Вуаля!

1 голос
/ 04 января 2014

Как уже обсуждалось здесь, вы можете либо опустить переменную среды CATALINA_HOME и использовать скрипт catalina.sh для управления жизненным циклом вашего контейнера, либо вы можете определить другую переменную, например CATALINA_HOME1, чтобы указать каталог установки нового tomcat и изменить его catalina. Скрипт sh для использования CATALINA_HOME1 вместо оригинальной ссылки CATALINA_HOME.

В любом случае, вы можете избежать всего этого вместе, пропустив любую переменную окружения с именем CATALINA_HOME и просто ссылку на соответствующий скрипт catalina.sh tomcat.

Пример:

cd /usr/sbin
ln -s /usr/local/java/apache-tomcat-6.0.37/bin/catalina.sh catalina1
ln -s /usr/share/java/apache-tomcat-6.0.37/bin/catalina.sh catalina2

Тогда начинайте своих котов вот так (откуда угодно):

catalina1 start
catalina2 start

Tom

1 голос
/ 13 января 2011

вы можете запускать неограниченное количество экземпляров tomcat на вашем сервере / ПК, конечно же, вам нужно определить каждый с другим портом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...