Systemd and Upstart Services

Datetime:2016-08-23 03:52:32         Topic: Tomcat          Share        Original >>
Here to See The Original Article!!!

Most Linux servers that I use are either Debian based or Red Hat based.

A common task is adding daemon services.

Suppose that we want to start a tomcat application on startup

First we install tomcat:

mkdir /opt/tomcat
groupadd tomcat
useradd -s /bin/false -g tomcat -d /opt/tomcat tomcat
tar xvf apache-tomcat-8.0.33.tar.gz
mv apache-tomcat-8.0.33/* /opt/tomcat
rm -r apache-tomcat-8.0.33 apache-tomcat-8.0.33.tar.gz 
cd /opt/tomcat
chgrp -R tomcat conf
chmod g+rwx conf
chmod g+r conf/*
chown -R tomcat work/ temp/ logs/

In case of Systemd we should add a tomcat.service file in /etc/systemd/system.


Description=Apache Tomcat Web Application Container


Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC'
Environment='JAVA_OPTS=-Duser.timezone=UTC -Djava.awt.headless=true'

ExecStop=/bin/kill -15 $MAINPID



I specified the script to start after syslog and network are enabled. As we can see systemd handles tomcat as a daemon and kills the pid. With User and Group we specify the user and the group that the process should be run as. Systemd will handle the upstart process and kill it using the PID.

Enter these command to enable and run:

systemctl enable tomcat
systemctl start tomcat

In case of upstart we should create a tomcat.conf file in /etc/init/:

description "Tomcat instance"
author "Emmanouil Gkatziouras"

respawn limit 2 5

start on runlevel [2345]
stop on runlevel [!2345]

setuid tomcat
setgid tomcat

env CATALINA_HOME=/opt/tomcat

 $CATALINA_HOME/bin/ run
end script

post-stop script
 rm -rf $CATALINA_HOME/temp/*
end script

It will start on run levels 2,3,4 or 5.

The group and the user id to be executed will be tomcat. After tomcat is stopped the post script block will remove the temp files. Instead of starting the process in the background as a daemon, upstart will handle the process on the foreground.

To start:

sudo initctl start tomcat


Put your ads here, just $200 per month.