do it. think it. blog it! ... a twisted world

Monday May 30, 2005

Hi, I had to reinvent the wheel again today (or was it yesterday ?), just to make my preinstalled Tomcat server on windows to run as a service, I did not want to reinstall Tomcat, but rather wanted a short fix to make my pre-installed tomcat server run as a service in windows. I have done this several times in the past but had forgotten to remember the exact process... hence this post as It'd help me (of all the people) remember. Here's how I did it: SO: If you want to run tomcat as a windows service, there are two ways to do it. Once is while installing choose to install as service, or if you already have installed it through command line, then you can run the following command to install tomcat as a service.
%CATALINA_HOME%bintomcat ­­­­-install “Apache Tomcat” “%JAVA_HOME%jrebinclassicjvm.dll” ­­­­­­-Djava.class.path="%CATALINA_HOME%binbootstrap.jar;%JAVA_HOME%libtools.jar” ­­­­­­-Dcatalina.home="%CATALINA_HOME%” ­­­­­­-Xrs ­­­­­­-start org.apache.catalina.startup.Bootstrap ­­­­­­-params start ­­­­­­-stop org.apache.catalina.startup.Bootstrap ­­­­­­-params stop ­­­­­­-out “%CATALINA_HOME%logsstderr.log”
The above command will install tomcat as a service. If this fails then its possible that tomcat.exe is not there in %CATALINA_HOME%bin directory. You can just download tomcat again and extract tomcat.exe and put this into the directory. (I was not having this in my tomcat local directory because when installing for the first time I choose NOT to install it as a service). After installing the service, you can either go to control panel/administrative tools/services and start and stop the service, or you can run it from command line net start “Apache Tomcat” // to start the service net stop “Apache Tomcat” // to stop the service. If you ever want to uninstall tomcat as a service you can run this command “%CATALINA_HOME%bintomcat.exe” -uninstall “Apache Tomcat” Service not starting issues.. When I did this my service did not start properly, and I went to the event viewer log to see the problem. It was not able to find jvm.dll in the path so I had to search and correct the path for dll and things worked just fine. Note that when I made the path change, I had to first uninstall the service and then install it again to make life easier: (the following code would do the trick. Simple save this is servcie.bat in your tomcat/bin directory and run it) : This code aint mine. It's from Mark Turk
@echo off if "%OS%" == "Windows_NT" setlocal rem rem NT Service Install/Uninstall script rem rem Options rem install Install the service using Tomcat5 as service name. rem Service is installed using default settings. rem remove - Remove the service from the System. rem rem name (optional) If the second argument is present it is considered rem to be new service name rem rem $Id: service.bat,v 1.5 2004/04/08 16:49:37 mturk Exp $ rem ------------------------------------------------------ rem Guess CATALINA_HOME if not defined set CURRENT_DIR=%cd% if not "%CATALINA_HOME%" == "" goto gotHome set CATALINA_HOME=%cd% if exist "%CATALINA_HOME%\bin\tomcat5.exe" goto okHome rem CD to the upper dir cd .. set CATALINA_HOME=%cd% :gotHome if exist "%CATALINA_HOME%\bin\tomcat5.exe" goto okHome echo The tomcat.exe was not found... echo The CATALINA_HOME environment variable is not defined correctly. echo This environment variable is needed to run this program goto end :okHome if not "%CATALINA_BASE%" == "" goto gotBase set CATALINA_BASE=%CATALINA_HOME% :gotBase set EXECUTABLE=%CATALINA_HOME%\bin\tomcat5.exe rem Set default Service name set SERVICE_NAME=Tomcat5 if "%1" == "" goto displayUsage if "%2" == "" goto setServiceName set SERVICE_NAME=%2 :setServiceName if %1 == install goto doInstall if %1 == remove goto doRemove echo Unknown parameter "%1" :displayUsage echo echo Usage: service.bat install/remove [service_name] goto end :doRemove rem Remove the service "%EXECUTABLE%" //DS//%SERVICE_NAME% echo The service '%SERVICE_NAME%' has been removed goto end :doInstall rem Install the service rem Use the environment variables as an exaple rem Each command line option is prefixed with PR_ set PR_DISPLAYNAME=Apache Tomcat set PR_DESCRIPTION=Apache Tomcat Server - http://jakarta.apache.org/tomcat set PR_INSTALL=%EXECUTABLE% set PR_LOGPATH=%CATALINA_HOME%\logs set PR_CLASSPATH=%CATALINA_HOME%\bin\bootstrap.jar "%EXECUTABLE%" //IS//%SERVICE_NAME% ­­­­­­-­­­­­­-Jvm auto ­­­­­­-­­­­­­-StartClass org.apache.catalina.startup.Bootstrap ­­­­­­-­­­­­­-StopClass org.apache.catalina.startup.Bootstrap ­­­­­­-­­­­­­-StartParams start ­­­­­­-­­­­­­-StopParams stop rem Clear the environment variables. They are not needed any more. set PR_DISPLAYNAME= set PR_DESCRIPTION= set PR_INSTALL= set PR_LOGPATH= set PR_CLASSPATH= rem Set extra parameters "%EXECUTABLE%" //US//%SERVICE_NAME% ­­­­­­-­­­­­­-JvmOptions "­­­­­­-Dcatalina.base=%CATALINA_BASE%;­­­­­­-Dcatalina.home=%CATALINA_HOME%;­­­­­­-Djava.endorsed.dirs=%CATALINA_HOME%\common\endorsed" ­­­­­­-StartMode jvm ­­­­­­-­­­­­­-StopMode jvm rem More extra parameters set PR_STDOUTPUT=%CATALINA_HOME%\logs\stdout.log set PR_STDERROR=%CATALINA_HOME%\logs\stderr.log "%EXECUTABLE%" //US//%SERVICE_NAME% ++JvmOptions "­­­­­­-Djava.io.tmpdir=%CATALINA_BASE%\temp" echo The service '%SERVICE_NAME%' has been installed :end cd %CURRENT_DIR%
Comments:

Hey Rohan,

that was a nice post. next time I have issues with tomcat (if I do) I know where to find that info. Saves you some time on answering questions on silly issues doesnt it ? All the best on your blog. keep it going.. Bosco

Posted by Bosco Noronha on May 31, 2005 at 07:59 AM EDT #

buy cheap nokia n95 experience without nokia mobile learning is better than learning without excperi-ence. I have nokia 6300 but one lamp wait which my feet are guided; and that bose headphones is the lamp of experience. I know of no way of judging of the future but by the apple touch past. http://www.leadsoftstore.com/

Posted by GHD Straighteners on September 22, 2009 at 10:35 AM EDT #

The timberland mens boots world can be changed by man endeavor, and that this endeavor can lead to something timberland men's 6 inch new and better .No man can sever the bonds that unite him to his society simply by averting his eyes . He must ever be receptive and sensitive to the new timberland men's classic; and have sufficient courage and skill to novel timberland shoes facts and to deal with them cheap timberland boots. http://www.runtimberland.com/

Posted by Timberland boots on October 09, 2009 at 07:20 AM EDT #

You can't step twice into the same cheap ugg boots river, for other ugg classic cardy waters are continually flowing in. In the ugg bailey button long run men hit only what they aim at ugg australia. High expectations are the key to every ugg classic mini thing. If you wait, all that happens is that you get older. http://www.ladiesugg.com/

Posted by Cheap Ugg Boots on October 09, 2009 at 08:20 AM EDT #

Post a Comment:
  • HTML Syntax: NOT allowed