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

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

Если есть необходимость запуска нескольких экземпляров сервера Apache Tomcat, то стандартные настройки и скрипты запуска не подходят. Ниже приведена инструкция и примеры скриптов для решения данной задачи.

ТТХ

Рецепт будет работать для:

  • Debian, Ubuntu, Astra Linux;
  • ГосJava 8 или Apache Tomcat 8 и 8.5.

Описание

Мы будем запускать сервер с помощью нового модуля Systemd. Для каждого экземпляра сервера будут созданы собственные каталоги. Остаются следующие общие элементы для всех экземпляров сервера:

  • файл общих настроек /etc/default/tomcat8;
  • все JAR-файлы Tomcat.

В остальном мы будем следовать стандартной конфигурации Tomcat для Debian/Ubunbu/Astra: пользователь/группа tomcat8/tomcat8 и т. д.

Настройка Systemd

Для начала необходимо отключить существующий модуль для Tomcat:

systemctl stop tomcat8
systemctl disable tomcat8
systemctl mask tomcat8

Новый модуль для Systemd можно скачать из нашего репозитория: tomcat@.service. Файл необходимо положить в каталог /etc/systemd/system/ и загрузить его:

systemctl daemon-reload

Создание экземпляра сервера

Скрипт для создания экземпляра сервера лежит в нашем репозитории: tomcat-instance.

Скачайте его и запустите с названием экземпляра:

./tomcat-instanse <название>

Например:

./tomcat-instance foo

Скрипт создаст необходимые каталоги:

  • конфигурации /etc/tomcat8/<название>/
  • основной /var/lib/tomcat8/<название>/
  • логов /var/log/tomcat8/<название>/
  • рабочий /var/cache/tomcat8/<название>/

После его выполнения вам необходимо самостоятельно создать файлы конфигурации. В простейшем случае можно скопировать стандартные файлы настройки Tomcat из каталога /etc/tomcat8/. Обратите внимание, что на файлы конфигурации должны быть установлены следующие права:

  • пользователь и группа: root:tomcat8;
  • права доступа 0640.

Запуск экземпляра

Перед запуском экземпляра необходимо убедиться, что порты нового сервера не пересекаются с существующими.

Операции над экземпляром осуществляются командой systemctl. Пример запуска сервера foo:

systemctl start tomcat@foo

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *