Подтвердить что ты не робот

Могу ли я запустить два экземпляра tomcat на одном компьютере?

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

4b9b3361

Ответ 1

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

Я думаю, для этого требуется изменить порт сервера для 'Shutdown'

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

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

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

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

Ответ 2

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

Для этого выполните действия.

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.) О файле Tomcats server.xml ссылается на его прогоны на порт 8080. Измените порт Connector port = "8080" на любой другой номер порта.

Например

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

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

Ответ 3

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

Ответ 4

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

Ответ 5

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

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

Ответ 6

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

Ответ 7

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

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

Пример:

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

Ответ 8

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

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

  • Однако Tom1 запускается отлично, но не Tom2.

  • Итак, в дополнение к вышесказанному, в server.xml, make/change следующее (на 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 redirect = 8443
    Строка 90: разъем Tom2 (ajp) = 8010
    Линия 90: Tom2 redirect = 8444

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

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

Voila!

Ответ 9

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

Скажем, что у вас есть только одна папка 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. Вы можете удалить содержимое из webapps и временных папок, расположенных под экземпляром1, но не прикасайтесь к содержимому. Теперь скопируйте > вставить C:\instance1 и переименуйте его к экземпляру2. Таким образом, как instance1, так и instance2 будут иметь такое же содержимое. Перейдите в C:\instance2\conf, отредактируйте файл server.xml и измените номера этих портов (я обозначил их как XXXX):

Разверните все, что захотите, в 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 и экземпляр2_startup.bat, надеюсь должен работать.