In this post, I am going to explain, how
to run multiple tomcat instances on one machine.
We can create multiple instances in two
ways.
a.
By sharing the same tomcat code base across all instances
b.
By creating separate copies of tomcat images
To work with multiple instances of
tomcat, we need to play with configuration files, First will understand basic
directory structure of tomcat.
Directory
|
Description
|
bin
|
Contains all startup, shoutdown
scripts
|
conf
|
Contains tomcat configuration files. server.xml,
web.xml are mainly used.
|
lib
|
Contains all the necessary jars that
tomcat require.
|
logs
|
Directory contains tomcat log files
|
webapps
|
Web applications are deployed in this
directory
|
work
|
Tomcat place all servlets that are
generated from JSPs.
|
Following are the port details, that you
need to know while configuring multiple instances of the same server
installation.
Port
|
Description
|
Connector port
|
Tomcat listen http requests on this
port
|
Shutdown port
|
This port is used while shutting down
tomcat
|
AJP (Apache JServ Protocol) Connector
Port
|
The AJP Connector element represents a
Connector component that communicates with a web connector via the AJP
protocol.
|
Redirect Port
|
All the redirection operations will
happen through this port.
|
Following procedure explains how to
configure multiple instances of tomcat.
Step
1: Download Apache
tomcat. Copy the same image to some other folder.
$ ls apache-tomcat-8* apache-tomcat-8.0.22: AuditViolations.html LICENSE RELEASE-NOTES bin lib temp work AuditViolations_files NOTICE RUNNING.txt conf logs webapps apache-tomcat-8.0.22_image1: AuditViolations.html LICENSE RELEASE-NOTES bin lib temp work AuditViolations_files NOTICE RUNNING.txt conf logs webapps
In this
example, I am using two images of tomcat apache-tomcat-8.0.22,
apache-tomcat-8.0.22_image1.
Step 2: Open server.xml (apache-tomcat-8.0.22_image1/conf/server.xml)
file of apache-tomcat-8.0.22_image1 and change the HTTP, HTTPS, AJP, Shutdown
Ports.
Step 3: Update catalina.sh file in both tomcat instances.
Add
following variables to apache-tomcat-8.0.22/bin/catalina.sh
export CATALINA_HOME=
/Users/harikrishna_gurram/softwares/apache-tomcat-8.0.22
export CATALINA_BASE= /Users/harikrishna_gurram/softwares/apache-tomcat-8.0.22
Add
following variables to apache-tomcat-8.0.22_image1/bin/catalina.sh
export CATALINA_HOME=
/Users/harikrishna_gurram/softwares/apache-tomcat-8.0.22_image1
export CATALINA_BASE=
/Users/harikrishna_gurram/softwares/apache-tomcat-8.0.22_image1
Go to bin
directories of tomcat run startup.sh scripts.
$ ./startup.sh /Users/harikrishna_gurram/softwares/apache-tomcat-8.0.22/bin/catalina.sh: line 98: export: `/Users/harikrishna_gurram/softwares/apache-tomcat-8.0.22': not a valid identifier /Users/harikrishna_gurram/softwares/apache-tomcat-8.0.22/bin/catalina.sh: line 99: export: `/Users/harikrishna_gurram/softwares/apache-tomcat-8.0.22': not a valid identifier Using CATALINA_BASE: /Users/harikrishna_gurram/softwares/apache-tomcat-8.0.22 Using CATALINA_HOME: /Users/harikrishna_gurram/softwares/apache-tomcat-8.0.22 Using CATALINA_TMPDIR: /Users/harikrishna_gurram/softwares/apache-tomcat-8.0.22/temp Using JRE_HOME: /Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home Using CLASSPATH: /Users/harikrishna_gurram/softwares/apache-tomcat-8.0.22/bin/bootstrap.jar:/Users/harikrishna_gurram/softwares/apache-tomcat-8.0.22/bin/tomcat-juli.jar Tomcat started.
$ ./startup.sh /Users/harikrishna_gurram/softwares/apache-tomcat-8.0.22_image1/bin/catalina.sh: line 98: export: `/Users/harikrishna_gurram/softwares/apache-tomcat-8.0.22_image1': not a valid identifier /Users/harikrishna_gurram/softwares/apache-tomcat-8.0.22_image1/bin/catalina.sh: line 99: export: `/Users/harikrishna_gurram/softwares/apache-tomcat-8.0.22_image1': not a valid identifier Using CATALINA_BASE: /Users/harikrishna_gurram/softwares/apache-tomcat-8.0.22_image1 Using CATALINA_HOME: /Users/harikrishna_gurram/softwares/apache-tomcat-8.0.22_image1 Using CATALINA_TMPDIR: /Users/harikrishna_gurram/softwares/apache-tomcat-8.0.22_image1/temp Using JRE_HOME: /Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home Using CLASSPATH: /Users/harikrishna_gurram/softwares/apache-tomcat-8.0.22_image1/bin/bootstrap.jar:/Users/harikrishna_gurram/softwares/apache-tomcat-8.0.22_image1/bin/tomcat-juli.jar Tomcat started.
Open browser
and hit the URLs http://localhost:8080, http://localhost:8081. You will get following
screen.
No comments:
Post a Comment