]>
For administrators and web developers alike, there are some important bits
of information you should familiarize yourself with before starting out. This
document serves as a brief introduction to some of the concepts and
terminology behind the Tomcat container. As well, where to go when you need
help. In the course of reading these documents, you will run across a number of
terms; some specific to Tomcat, and others defined by the
Servlet and
JSP specifications. That is it. If you find any more terms we need to add to this section, please
do let us know. These are some of the key tomcat directories: Throughout the documentation, there are references to the two following
properties:
*.sh files (for Unix systems) are functional duplicates of
the *.bat files (for Windows systems). Since the Win32
command-line lacks certain functionality, there are some additional
files in here.
/home/tomcat/apache-tomcat-9.0.10
or C:\Program Files\apache-tomcat-9.0.10.
CATALINA_BASE
property.
If you set the properties to different locations, the CATALINA_HOME location
contains static sources, such as .jar files, or binary files.
The CATALINA_BASE location contains configuration files, log files, deployed
applications, and other runtime requirements.
By default, CATALINA_HOME and CATALINA_BASE point to the same directory. Set CATALINA_BASE manually when you require running multiple Tomcat instances on one machine. Doing so provides the following benefits:
.jar files and binary files, you can easily upgrade the files
to newer version and have the change propagated to all Tomcat instances
using the same CATALIA_HOME directory.
.jar files.
setenv shell
or bat script file (depending on your operating system).
Before you start using CATALINA_BASE, first consider and create the directory tree used by CATALINA_BASE. Note that if you do not create all the recommended directories, Tomcat creates the directories automatically. If it fails to create the necessary directory, for example due to permission issues, Tomcat will either fail to start, or may not function correctly.
Consider the following list of directories:
The bin directory with the setenv.sh,
setenv.bat, and tomcat-juli.jar files.
Recommended: No.
Order of lookup: CATALINA_BASE is checked first; fallback is provided to CATALINA_HOME.
The lib directory with further resources to be added on
classpath.
Recommended: Yes, if your application depends on external libraries.
Order of lookup: CATALINA_BASE is checked first; CATALINA_HOME is loaded second.
The logs directory for instance-specific log files.
Recommended: Yes.
The webapps directory for automatically loaded web
applications.
Recommended: Yes, if you want to deploy applications.
Order of lookup: CATALINA_BASE only.
The work directory that contains temporary working
directories for the deployed web applications.
Recommended: Yes.
The temp directory used by the JVM for temporary files.
Recommended: Yes.
We recommend you not to change the tomcat-juli.jar file.
However, in case you require your own logging implementation, you can
replace the tomcat-juli.jar file in a CATALINA_BASE location
for the specific Tomcat instance.
We also recommend you copy all configuration files from the
CATALINA_HOME/conf directory into the
CATALINA_BASE/conf/ directory. In case a configuration file
is missing in CATALINA_BASE, there is no fallback to CATALINA_HOME.
Consequently, this may cause failure.
At minimum, CATALINA_BASE must contain:
conf directory. Otherwise, Tomcat fails
to start, or fails to function properly.
For advanced configuration information, see the RUNNING.txt file.
The CATALINA_BASE property is an environment variable. You can set it before you execute the Tomcat start script, for example:
CATALINA_BASE=/tmp/tomcat_base1 bin/catalina.sh startCATALINA_BASE=C:\tomcat_base1 bin/catalina.bat startThis section will acquaint you with the basic information used during the configuration of the container.
All of the information in the configuration files is read at startup, meaning that any change to the files necessitates a restart of the container.
While we've done our best to ensure that these documents are clearly written and easy to understand, we may have missed something. Provided below are various web sites and mailing lists in case you get stuck.
Keep in mind that some of the issues and solutions vary between the
major versions of Tomcat. As you search around the web, there will be
some documentation that is not relevant to Tomcat
And, if you think something should be in the docs, by all means let us know on the TOMCAT-DEV list.