Можно ли запустить два сервера Tomcat с двумя разными портами на одном компьютере? Будет ли это создавать какие-либо проблемы? Когда я запускаю tomcat, он создаст файл javaw.exe
в диспетчере задач.
Могу ли я запустить два экземпляра tomcat на одном компьютере?
Ответ 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
Добавление нескольких указателей к подробным инструкциям о том, как это сделать:
- Шаг за шагом Запуск нескольких экземпляров Tomcat на одном сервере.
- более ранняя версия выше.
- Объяснение различных переменных окружения и папок, которые играют определенную роль в такой установке.
Ответ 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, надеюсь должен работать.