This due to, as at the time of writing ,Tomcat doesn't have its built-in or default startup script included.
As usual, after some googling, found out the script below creates a custom Tomcat service and load tomcat automatically at startup.
#!/bin/bash
#
# Tomcat Server
#
# chkconfig: 345 96 30
# description: Start up the Tomcat servlet engine.
# Source function library.
. /etc/init.d/functions
RETVAL=$?
CATALINA_HOME="/opt/tomcat"
start() {
if [ -f $CATALINA_HOME/bin/startup.sh ];
then
echo $"Starting Tomcat"
/bin/su tomcat $CATALINA_HOME/bin/startup.sh
fi
sleep 2
}
stop() {
if [ -f $CATALINA_HOME/bin/shutdown.sh ];
then
echo $"Stopping Tomcat"
/bin/su tomcat $CATALINA_HOME/bin/shutdown.sh
fi
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
sleep 2
start
;;
*)
echo $"Usage: $0 {start|stop|restart}"
exit 1
;;
esac
exit $RETVAL
In order to support chkconfig, an init script must:
1. Be located in /etc/rc.d/init.d (which /etc/init.d is a symlink to)
2. Have a commented out line that contains “chkconfig: <default runlevels for this service> <start priority> <stop priority>”
3. Have a commented out line that contains “description: <a description of the service>”
4. Upon successful service startup, place a lock file in /var/lock/subsys that matches the name of the service script. Upon successful service shutdown, the lockfile must be removed.
1. Be located in /etc/rc.d/init.d (which /etc/init.d is a symlink to)
2. Have a commented out line that contains “chkconfig: <default runlevels for this service> <start priority> <stop priority>”
3. Have a commented out line that contains “description: <a description of the service>”
4. Upon successful service startup, place a lock file in /var/lock/subsys that matches the name of the service script. Upon successful service shutdown, the lockfile must be removed.
5. If the avove doesn't wotk. Add symbolic link for /etc/init.d/tomcat to etc/rc.d/rc2.d/S96tomcat, /etc/rc.d/rc1.d/K99tomcat
Reference:
http://adityo.blog.binusian.org/?tag=redhat-run-level-and-how-to-make-tomcat-service-to-run-on-boot-time-in-centos
Update: If you install Tomcat from Yum, init script is already included, just run /etc/init.d/tomcat7 start/stop/restart