Могу ли я запустить несколько экземпляров сервера Tomcat в качестве служб Windows из одного и того же физического местоположения (CATALINA_HOME)? Другими словами, могу ли я запустить службу Windows Tomcat, ссылающуюся на конкретный server.xml (а не в расположение по умолчанию)? Я знаю, что эта опция доступна для выполнения Tomcat из файла bat.
Да, ты можешь это сделать.
Если вы используете Windows, вы можете использовать официальную документацию: http://tomcat.apache.org/tomcat-7.0-doc/windows-service-howto.html
Я бы порекомендовал загрузить файл service.bat, связанный с вашим дистрибутивом Windows. В этом ответе рассказывается, как это сделать: https://stackoverflow.com/questions/15798813/tomcat-7-service-bat-file-is-missing
Если у вас нет файла service.bat, вам нужно будет использовать аргументы командной строки для Tomcat7.exe в папке bin. Отметьте «Установка служб» и «Обновление служб», например, чтобы узнать, как запустить исполняемый файл из командной строки и настроить службу так, как вы хотите.
Самое главное, вам понадобится папка экземпляра (которую вы зададите с помощью переменной CATALINA_HOME). Внутри у вас должна быть папка conf с файлами web.xml и server.xml). Как и предложил Питер, замените четыре порта, указанные в разъемах (8080, 8005, 8009 и 8443), на другие, чтобы они не конфликтовали с вашей первой установкой.
Лучший способ сделать это - использовать переменную CATALINA_BASE, вы не хотите возиться и копировать двоичные файлы для каждого экземпляра. Просто установите базовую установку, затем создайте папку серверов с вашими уникальными экземплярами, которые будут содержать только папки conf / lib / bin / logs / temp для каждого нужного вам экземпляра.
Каждому экземпляру нужен собственный порт, поэтому при использовании портов shutdown / http / ajp / JMX не забудьте их компенсировать.
Обзор https://stackoverflow.com/questions/3090398/tomcat-catalina-base-and-catalina-home-variables
Вы можете найти документацию по серверу vFabric tc, в которой есть хорошие примеры.
Если вы хотите запустить несколько экземпляров, вам нужно использовать разные порты для каждой конфигурации.