Tomcat can be run as a daemon using the jsvc tool from the
commons-daemon project. Source tarballs for jsvc are included with the
Tomcat binaries, and need to be compiled. Building jsvc requires
a C ANSI compiler (such as GCC), GNU Autoconf, and a JDK.
Before running the script, the JAVA_HOME
environment
variable should be set to the base path of the JDK. Alternately, when
calling the ./configure
script, the path of the JDK may
be specified using the --with-java
parameter, such as
./configure --with-java=/usr/java
.
Using the following commands should result in a compiled jsvc binary,
located in the $CATALINA_HOME/bin
folder. This assumes
that GNU TAR is used, and that CATALINA_HOME
is an
environment variable pointing to the base path of the Tomcat
installation.
Please note that you should use the GNU make (gmake) instead of
the native BSD make on FreeBSD systems.
![](./../images/void.gif) | ![](./../images/void.gif) | ![](./../images/void.gif) |
![](./../images/void.gif) |
cd $CATALINA_HOME/bin
tar xvfz jsvc.tar.gz
cd jsvc-src
autoconf
./configure
make
cp jsvc ..
cd ..
| ![](./../images/void.gif) |
![](./../images/void.gif) | ![](./../images/void.gif) | ![](./../images/void.gif) |
Tomcat can then be run as a daemon using the following commands.
![](./../images/void.gif) | ![](./../images/void.gif) | ![](./../images/void.gif) |
![](./../images/void.gif) |
cd $CATALINA_HOME
./bin/jsvc -Djava.endorsed.dirs=./common/endorsed -cp ./bin/bootstrap.jar \
-outfile ./logs/catalina.out -errfile ./logs/catalina.err \
org.apache.catalina.startup.Bootstrap
| ![](./../images/void.gif) |
![](./../images/void.gif) | ![](./../images/void.gif) | ![](./../images/void.gif) |
jsvc has other useful parameters, such as -user
which
causes to switch to another user after the daemon initialization is
complete. This allows, for example, running Tomcat as a non priviledged
user while still being able to use privileged ports.
jsvc --help
will return the full jsvc usage
information. In particular, the -debug
option is useful
to debug issues running jsvc.
The file $CATALINA_HOME/bin/jsvc/native/tomcat.sh
can be
used as a template for starting Tomcat automatically at boot time from
/etc/init.d
. The file is currently setup for running
Tomcat 4.1.x, so it is necessary to edit it and change the classname
from BootstrapService
to Bootstrap
.