Skip to content

Instantly share code, notes, and snippets.

@witscher
Created June 13, 2012 13:24
Show Gist options
  • Star 25 You must be signed in to star a gist
  • Fork 14 You must be signed in to fork a gist
  • Save witscher/2924017 to your computer and use it in GitHub Desktop.
Save witscher/2924017 to your computer and use it in GitHub Desktop.
Apache Tomcat Upstart script
description "Tomcat Server"
start on runlevel [2345]
stop on runlevel [!2345]
respawn
respawn limit 10 5
# run as non privileged user
# add user with this command:
## adduser --system --ingroup www-data --home /opt/apache-tomcat apache-tomcat
# Ubuntu 12.04: (use 'exec sudo -u apache-tomcat' when using 10.04)
setuid apache-tomcat
setgid www-data
# adapt paths:
env JAVA_HOME=/opt/java
env CATALINA_HOME=/opt/apache-tomcat
# adapt java options to suit your needs:
env JAVA_OPTS="-Djava.awt.headless=true -Xms512M -Xmx1024M -server -XX:+UseParallelGC"
exec $CATALINA_HOME/bin/catalina.sh run
# cleanup temp directory after stop
post-stop script
rm -rf $CATALINA_HOME/temp/*
end script
@vancluever
Copy link

Thank you so much for this dude, and for anyone reading this, the key to this is the run parameter versus the start parameter. I'd imagine that the latter causes it to fork in a way that breaks upstart (well documented).

Stumbling upon this saved my eyeballs a pending gouging. ;)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment