ansible-roles/tomcat-instance/README.md

2.2 KiB

tomcat-instance

Install a Tomcat Instance with an independent Unix user and use of systemd user instance.

Available variables

**tomcat_instance_name **: Name of Tomcat instance and proprietary user and group (required) tomcat_instance_port: HTTP port for Tomcat instance and uid/gid for Tomcat user and group (default: 8080) tomcat_instance_shutdown: Port for Tomcat shutdown (default: HTTP port + 1) tomcat_instance_ram: Max memory for Tomcat instance (default: 512) tomcat_instance_mps: Max memory for internal objects of Tomcat instance (default: ram / 2) tomcat_instance_mail: Mail adresse for sending mail on shutdown instance (default to Unix user) tomcat_instance_deploy_user: Unix user who have sudo right with no password for application deployement

Exemple of role usage

- hosts: hostname
  become: yes
  vars:
    - tomcat_instance_mail: 'test@example.com'
    - tomcat_instance_deploy_user: 'deploy'
  roles:
  - { role: tomcat-instance, tomcat_instance_name: 'instance1', tomcat_instance_port: 8888, tomcat_instance_ram: 2048 }

Configuration of your Tomcat instance

Once you instance was installed, you can managed it with members of Tomcat instance group, deploy_user or directly by Tomcat instance owner.

Environnment config of Tomcat instance

The ~/conf/env file was sourced by systemd Tomcat service, you must define your environnment variables in this file, default value was :

JAVA_HOME="/usr/lib/jvm/java-1.7.0-openjdk-amd64"
JAVA_OPTS="-server -Xmx512m -Xms512m -XX:MaxPermSize=256m -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:+CMSPermGenSweepingEnabled -XX:+CMSClassUnloadingEnabled -Xverify:none"

Usage of systemd Tomcat service

You must use systemctl --user with Tomcat user by su - username or prefix command by sudo -iu username ;

systemctl --user start tomcat
systemctl --user stop tomcat
systemctl --user status tomcat
systemctl --user restart tomcat
systemctl --user enable tomcat
systemctl --user disable tomcat

Alias scripts was availables in ~/bin/ for easier use if you are in Tomcat instance group or if you are deploy_user .

~/bin/startup.sh
~/bin/shutdown.sh
~/bin/status.sh
~/bin/enable.sh
~/bin/disable.sh