criecm.tomcat
Tomcat
FreeBSD и Debian, tomcat 8/9, jdk8, сессии memcache, поддержка remoteipvalve
Переменные (значение по умолчанию)
Общая конфигурация
classpath_adds('') Список jar-файлов для добавления, разделённых двоеточием (:)tomcat_java_version (11)Желаемая версия Java для работы tomcattomcat_default_java_opts('-Djava.awt.headless=true -Xms1024m -Xmx2g -Dlog4j2.formatMsgNoLookups=true') Аргументы командной строки Javatomcat_java_gc_opts ('-XX:+UseConcMarkSweepGC' если java < 9, '' иначе)Переопределение параметров сборщика мусора Javatomcat_java_opts ('')Дополнительные параметры Java для запуска tomcattomcat_lang_opts('') Дополнительные аргументы команды Javatomcat_http_port(8080) HTTP портtomcat_ajp_port(8009) AJP портtomcat_ajp_address (0.0.0.0)Адрес прослушивания AJPtomcat_keystore('') Путь к файлу хранилища ключейtomcat_storepass('') Пароль для хранилища ключейtomcat_catalina_props([]) Список строк для добавления/замены в catalina.properties (будет заменена строка, соответствующая перед знаком '=')tomcat_apr_port ('')Если указано, на каком порту должен слушать AJP соединительtomcat_apr_cert ('')Если указано, то будет активирована поддержка HTTPS с поддержкой APR сертификат и ключ будут скопированы в конфигурационный каталог tomcattomcat_apr_key ('')PEM ключ для вышеупомянутого сертификата. Обязательно, если вы хотите TLS с APRjre_dir (зависит от дистрибутива)Путь к JRE для tomcattomcat_env_vars ({})Словарь переменных окружения для tomcattomcat_env_file ('')Файл с переменными окружения- смотрите
defaults/main.ymlдля исчерпывающего списка
Поддержка HTTP(S) обратного прокси
proxies_ips_regex('') Регулярное выражение для соответствия IP прокси (например: '^(127.0.0.1|::1)$' для локального хоста IPv4 и IPv6)Если
proxies_ips_regexопределен, будет настроен RemoteIpValve, поддерживающий:- X-Forwarded-For
- X-Forwarded-Proto (должен быть 'https', если есть SSL)
Сессии memcache
Если memcached_nodes не пустой:
Сессии реплицируются между экземплярами memcache на каждом хосте tomcat Используя https://github.com/magro/memcached-session-manager/wiki
memcached_nodesдолжен быть заполнен следующим образом:Имена узлов (здесь srv1/srv2) ДОЛЖНЫ совпадать сmemcached_nodes: 'srv1:srv1.fqdn:11211,srv2:srv2.fqdn:11211'
inventory_hostnametomcat_memcached_sticky (True)Если установлено в false, включаются несинхронные сессии без привязки
(см. templates/context.xml.j2)
Развертывание веб-приложений
tomcat_webapps ([])Список словарей, описывающих веб-приложения для развертыванияkey- имяwar- файл war для развертывания в каталоге веб-приложенийgitsrcбудет клонирован в каталогgitdst, если оба существуютscript- это командная строка, относительная кgitdst, которая будет запущена (как root) после развертывания (если есть)
tomcat_forced_deploy (False)Принудительное остановка tomcat перед развертыванием и принудительное удаление каталогов приложенийmyapp ('')Если указано, развернуть только это приложение (должно совпадать с webapp.key)
ansible-galaxy install criecm.tomcat