criecm.tomcat
tomcat
FreeBSD 和 Debian,tomcat 8/9,jdk8,使用 memcache 会话,支持 remoteipvalve
变量(默认值)
常规配置
classpath_adds('') 要添加的 jar 列表,以冒号分隔tomcat_java_version (11)要运行 tomcat 的 Java 版本tomcat_default_java_opts('-Djava.awt.headless=true -Xms1024m -Xmx2g -Dlog4j2.formatMsgNoLookups=true') Java 命令参数tomcat_java_gc_opts ('-XX:+UseConcMarkSweepGC' 如果 java < 9,'' 否则)覆盖 Java GC 选项tomcat_java_opts ('')启动 tomcat 的附加 Java 选项tomcat_lang_opts('') 附加的 Java 命令参数tomcat_http_port(8080) http 端口tomcat_ajp_port(8009) ajp 端口tomcat_ajp_address (0.0.0.0)ajp 监听地址tomcat_keystore('') keystore 文件的路径tomcat_storepass('') keystore 密码tomcat_catalina_props([]) 要添加/替换的 catalina.properties 行列表 (将替换与'='前面的行匹配的行)tomcat_apr_port ('')如果定义,APR 连接器监听的端口tomcat_apr_cert ('')如果定义为 x509 证书,将激活使用 APR 的 HTTPS 支持 证书和密钥将复制到 tomcat 配置目录tomcat_apr_key ('')以上证书的 PEM 密钥。如果希望使用 TLS 和 APR,这是必需的jre_dir (根据发行版)tomcat 相关的 jre 的路径tomcat_env_vars ({})tomcat 的环境变量字典tomcat_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 (如果使用 ssl,必须为 'https')
memcache 会话
如果 memcached_nodes 不为空:
会话在每个 tomcat 主机的 memcache 实例之间进行复制
使用 https://github.com/magro/memcached-session-manager/wiki
memcached_nodes必须这样填写:节点名称(这里是 srv1/srv2) 必须 与清单中的memcached_nodes: 'srv1:srv1.fqdn:11211,srv2:srv2.fqdn:11211'
inventory_hostname匹配tomcat_memcached_sticky (True)如果设置为 false,启用非粘性同步会话
(请查看 templates/context.xml.j2)
webapps 部署
tomcat_webapps ([])部署 webapps 的字典列表key是名称war是要部署到 webapps 目录的 war 文件gitsrc如果存在,将克隆至gitdst目录script是相对于gitdst的命令行,将在部署后以 root 用户启动(如果有)
tomcat_forced_deploy (False)强制在部署之前停止 tomcat,并强制删除应用目录myapp ('')如果定义,仅部署此应用(必须与 webapp.key 匹配)
