Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

due to operational need following is the scenario.

Two applications running on one machine, operating system is Windows 2003 standard server edition.

Application A comes packaged with tomcat (version 6.0.18) and uses tomcat as an application server and uses Microsoft IIS (version 6.0) as its web server. This is a vendor product and as such is prepackaged and installed as such. Any change to this setup would not be supported by vendor.

On the same machine, would like to install a second application, which is the Sun Directory Control Center (DSCC). DSCC is used to manage Directory Instance running on the machine.

Is it possible to run two independent Tomcat on one machine? Not as one tomcat running multiple instances, but as two tomcats running independently.

share|improve this question

Yes, we do this frequently.

Basically our approach (on Windows) is:

  1. Ensure the full JDK is installed (Tomcat batch files require this)
  2. Download and Tomcat (6.1.20) - the zip version, not the windows installer.
  3. Unzip to a folder named for the purpose of the Tomcat instance (eg to C:\Tomcat6_SW for SuperWEB 1)
  4. Copy the unzipped files to other folders for the other required instances (eg C:\Tomcat6_SW2, C:\Tomcat6_SV)
  5. For each instance, edit server.xml so that there are no port conflicts
  6. For each instance:
    • a. Edit startup.bat to explicitly define CATALINA_HOME and JAVA_HOME
    • b. Rename startup.bat to reflect the purpose of the Tomcat instance, for instance SWstartup.bat for SuperWEB1
    • c. Edit service.bat as above to explicitly define CATALINA_HOME and JAVA_HOME
    • d. Run service.bat to create a Windows service with a service name and description for this Tomcat instance. The service name must be unique, and cannot contain spaces.
    • e. Rename the tomcat6w.exe file to the name of the service that you have created (for instance, if the service name is SWEB1Tomcat, tomcat6w.exe should be renamed to SWEB1Tomcat.exe). If this is not done, the tomcat6w.exe application will not refer to the correct service.
    • f. Run the renamed application and set service properties as follows:
        1. set any Java options required in the Java tab
        1. set the startup type to Automatic
        1. IMPORTANT: change the Log On account to other than “Local System account”, ie something with a lower privilege level.

(Note that you may want to create separate setenv.bat files for each instance.

share|improve this answer
Thks!! This works, appreciate your help. :-) – Arthur Aoife Mar 1 '10 at 8:39

Yes. You just obviously need to make sure they're listening on different ports and you should have no problems.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.